\";\n return div.innerHTML.indexOf('
') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue$3.prototype.$mount;\nVue$3.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Do not mount Vue to or - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue$3.compile = compileToFunctions;\n\nexport default Vue$3;\n"
+ "depth": 6,
+ "source": "import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteApplication.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteApplication.vue?vue&type=script&lang=js&\""
},
{
- "id": 13,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\IHubProtocol.js",
- "name": "./node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js",
- "index": 33,
- "index2": 25,
- "size": 1730,
+ "id": "./ClientApp/src/application/DeleteApplication.vue?vue&type=template&id=44a2f9e4&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue?vue&type=template&id=44a2f9e4&",
+ "name": "./ClientApp/src/application/DeleteApplication.vue?vue&type=template&id=44a2f9e4&",
+ "index": 76,
+ "index2": 71,
+ "size": 221,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\index.js",
- "issuerId": 48,
- "issuerName": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "profile": {
- "factory": 439,
- "building": 11
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue",
+ "issuerId": "./ClientApp/src/application/DeleteApplication.vue",
+ "issuerName": "./ClientApp/src/application/DeleteApplication.vue",
+ "issuerPath": [
{
- "moduleId": 19,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\HubConnection.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/HubConnection.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/HubConnection.js",
- "type": "harmony import",
- "userRequest": "./IHubProtocol",
- "loc": "39:0-45"
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
},
{
- "moduleId": 22,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\JsonHubProtocol.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js",
- "type": "harmony import",
- "userRequest": "./IHubProtocol",
- "loc": "3:0-45"
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
},
{
- "moduleId": 48,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\index.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "type": "harmony import",
- "userRequest": "./IHubProtocol",
- "loc": "11:0-45"
- }
- ],
- "usedExports": [
- "MessageType"
- ],
- "providedExports": [
- "MessageType"
- ],
- "optimizationBailout": [],
- "depth": 7,
- "source": "// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n/** Defines the type of a Hub Message. */\r\nexport var MessageType;\r\n(function (MessageType) {\r\n /** Indicates the message is an Invocation message and implements the {@link @microsoft/signalr.InvocationMessage} interface. */\r\n MessageType[MessageType[\"Invocation\"] = 1] = \"Invocation\";\r\n /** Indicates the message is a StreamItem message and implements the {@link @microsoft/signalr.StreamItemMessage} interface. */\r\n MessageType[MessageType[\"StreamItem\"] = 2] = \"StreamItem\";\r\n /** Indicates the message is a Completion message and implements the {@link @microsoft/signalr.CompletionMessage} interface. */\r\n MessageType[MessageType[\"Completion\"] = 3] = \"Completion\";\r\n /** Indicates the message is a Stream Invocation message and implements the {@link @microsoft/signalr.StreamInvocationMessage} interface. */\r\n MessageType[MessageType[\"StreamInvocation\"] = 4] = \"StreamInvocation\";\r\n /** Indicates the message is a Cancel Invocation message and implements the {@link @microsoft/signalr.CancelInvocationMessage} interface. */\r\n MessageType[MessageType[\"CancelInvocation\"] = 5] = \"CancelInvocation\";\r\n /** Indicates the message is a Ping message and implements the {@link @microsoft/signalr.PingMessage} interface. */\r\n MessageType[MessageType[\"Ping\"] = 6] = \"Ping\";\r\n /** Indicates the message is a Close message and implements the {@link @microsoft/signalr.CloseMessage} interface. */\r\n MessageType[MessageType[\"Close\"] = 7] = \"Close\";\r\n})(MessageType || (MessageType = {}));\r\n//# sourceMappingURL=IHubProtocol.js.map"
- },
- {
- "id": 14,
- "identifier": "delegated 4 from dll-reference vendor_89eb6b23a3aa100fe7b7",
- "name": "delegated ./node_modules/webpack/buildin/global.js from dll-reference vendor_89eb6b23a3aa100fe7b7",
- "index": 3,
- "index2": 1,
- "size": 42,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/application/DeleteApplication.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue",
+ "name": "./ClientApp/src/application/DeleteApplication.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue\\dist\\vue.esm.js",
- "issuerId": 12,
- "issuerName": "./node_modules/vue/dist/vue.esm.js",
"profile": {
- "factory": 24,
- "building": 0,
- "dependencies": 0
+ "factory": 365,
+ "building": 0
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 12,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue\\dist\\vue.esm.js",
- "module": "./node_modules/vue/dist/vue.esm.js",
- "moduleName": "./node_modules/vue/dist/vue.esm.js",
- "type": "cjs require",
- "userRequest": "global",
- "loc": "1:0-44"
+ "moduleId": "./ClientApp/src/application/DeleteApplication.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue",
+ "module": "./ClientApp/src/application/DeleteApplication.vue",
+ "moduleName": "./ClientApp/src/application/DeleteApplication.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./DeleteApplication.vue?vue&type=template&id=44a2f9e4&",
+ "loc": "1:0-96"
},
{
- "moduleId": 18,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\buffer\\index.js",
- "module": "./node_modules/buffer/index.js",
- "moduleName": "./node_modules/buffer/index.js",
- "type": "cjs require",
- "userRequest": "global",
- "loc": "1:0-41"
+ "moduleId": "./ClientApp/src/application/DeleteApplication.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue",
+ "module": "./ClientApp/src/application/DeleteApplication.vue",
+ "moduleName": "./ClientApp/src/application/DeleteApplication.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./DeleteApplication.vue?vue&type=template&id=44a2f9e4&",
+ "loc": "10:2-8"
+ },
+ {
+ "moduleId": "./ClientApp/src/application/DeleteApplication.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue",
+ "module": "./ClientApp/src/application/DeleteApplication.vue",
+ "moduleName": "./ClientApp/src/application/DeleteApplication.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./DeleteApplication.vue?vue&type=template&id=44a2f9e4&",
+ "loc": "11:2-17"
}
],
- "usedExports": true,
- "providedExports": null,
+ "providedExports": [
+ "render",
+ "staticRenderFns"
+ ],
"optimizationBailout": [],
- "depth": 3
+ "depth": 6,
+ "source": "export * from \"-!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteApplication.vue?vue&type=template&id=44a2f9e4&\""
},
{
- "id": 15,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\App.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/App.vue",
- "index": 7,
- "index2": 87,
- "size": 3572,
+ "id": "./ClientApp/src/application/EditApplication.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "name": "./ClientApp/src/application/EditApplication.vue",
+ "index": 70,
+ "index2": 69,
+ "size": 1149,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "issuerId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "issuerName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\App.vue",
- "issuerId": 41,
- "issuerName": "./ClientApp/App.vue",
"profile": {
- "factory": 2,
- "building": 48
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 41,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\App.vue",
- "module": "./ClientApp/App.vue",
- "moduleName": "./ClientApp/App.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue",
- "loc": "3:0-100"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./application/EditApplication",
+ "loc": "97:0-60"
},
{
- "moduleId": 41,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\App.vue",
- "module": "./ClientApp/App.vue",
- "moduleName": "./ClientApp/App.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue",
- "loc": "4:0-113"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./application/EditApplication",
+ "loc": "113:28-43"
}
],
- "usedExports": [
- "default"
- ],
"providedExports": [
"default"
],
"optimizationBailout": [],
- "depth": 3,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport TogglesList from \"./TogglesList\";\nimport AppSelection from './AppSelection';\nimport AddApplication from './AddApplication';\nimport EditApplication from './EditApplication';\nimport DeleteApplication from './DeleteApplication';\nimport AddFeatureToggle from './AddFeatureToggle';\nimport AddEnvironment from './AddEnvironment';\nimport ForceCacheRefresh from './ForceCacheRefresh';\nimport ToggleScheduler from './ToggleScheduler';\nimport BlockUi from './BlockUi';\nimport { Bus } from './event-bus';\nimport axios from 'axios';\n\nexport default {\n components: {\n \"toggles-list\": TogglesList,\n \"app-selection\": AppSelection,\n \"add-application\": AddApplication,\n \"edit-application\": EditApplication,\n \"delete-application\": DeleteApplication,\n \"add-featuretoggle\": AddFeatureToggle,\n \"add-env\": AddEnvironment,\n 'force-cache-refresh': ForceCacheRefresh,\n 'block-ui': BlockUi,\n 'toggle-scheduler': ToggleScheduler\n },\n data: function data() {\n return {\n showAddApp: false,\n showAddEnv: false,\n showAddToggle: false,\n showForceCacheRefresh: false,\n isCacheRefreshEnabled: false,\n editAppModalIsActive: false,\n showDeleteAppConfirmation: false,\n showScheduler: false\n };\n },\n created: function created() {\n var _this = this;\n\n Bus.$on(\"show-app-delete-confirmation\", function () {\n _this.showDeleteAppConfirmation = true;\n });\n Bus.$on('close-add-toggle', function () {\n _this.showAddToggle = false;\n });\n Bus.$on('close-add-application', function () {\n _this.showAddApp = false;\n });\n Bus.$on('close-add-environment', function () {\n _this.showAddEnv = false;\n });\n Bus.$on('close-refresh', function () {\n _this.showForceCacheRefresh = false;\n });\n Bus.$on('close-scheduler', function () {\n _this.showScheduler = false;\n });\n axios.get(\"/api/CacheRefresh/getCacheRefreshAvailability\").then(function (response) {\n _this.isCacheRefreshEnabled = response.data;\n }).catch(function (error) {\n window.alert(error);\n });\n },\n\n methods: {\n showAddFeatureModal: function showAddFeatureModal() {\n this.showAddToggle = true;\n Bus.$emit('openAddFeatureToggleModal');\n },\n showAddAppModal: function showAddAppModal() {\n this.showAddApp = true;\n Bus.$emit('openAddAppModal');\n },\n showAddEnvModal: function showAddEnvModal() {\n this.showAddEnv = true;\n Bus.$emit('openAddEnvModal');\n },\n ReloadCurrentApplicationToggles: function ReloadCurrentApplicationToggles() {\n Bus.$emit(\"reload-application-toggles\");\n },\n showEditAppModal: function showEditAppModal(value) {\n this.editAppModalIsActive = value;\n },\n confirmDeleteApp: function confirmDeleteApp() {\n this.showDeleteAppConfirmation = true;\n },\n showAddScheduler: function showAddScheduler() {\n this.showScheduler = true;\n Bus.$emit('add-scheduler');\n }\n }\n};"
+ "depth": 5,
+ "source": "import { render, staticRenderFns } from \"./EditApplication.vue?vue&type=template&id=62db0565&\"\nimport script from \"./EditApplication.vue?vue&type=script&lang=js&\"\nexport * from \"./EditApplication.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"D:\\\\Projects\\\\Moggles\\\\Moggles\\\\node_modules\\\\vue-hot-reload-api\\\\dist\\\\index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('62db0565')) {\n api.createRecord('62db0565', component.options)\n } else {\n api.reload('62db0565', component.options)\n }\n module.hot.accept(\"./EditApplication.vue?vue&type=template&id=62db0565&\", function () {\n api.rerender('62db0565', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"ClientApp/src/application/EditApplication.vue\"\nexport default component.exports"
},
{
- "id": 16,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\TogglesList.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/TogglesList.vue",
- "index": 14,
- "index2": 60,
- "size": 14303,
+ "id": "./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "index": 73,
+ "index2": 68,
+ "size": 380,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "issuerId": "./ClientApp/src/application/EditApplication.vue",
+ "issuerName": "./ClientApp/src/application/EditApplication.vue",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/application/EditApplication.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "name": "./ClientApp/src/application/EditApplication.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\TogglesList.vue",
- "issuerId": 42,
- "issuerName": "./ClientApp/TogglesList.vue",
"profile": {
- "factory": 205,
- "building": 113,
- "dependencies": 485
+ "factory": 346,
+ "building": 1
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 42,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\TogglesList.vue",
- "module": "./ClientApp/TogglesList.vue",
- "moduleName": "./ClientApp/TogglesList.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./TogglesList.vue",
- "loc": "7:0-108"
+ "moduleId": "./ClientApp/src/application/EditApplication.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "module": "./ClientApp/src/application/EditApplication.vue",
+ "moduleName": "./ClientApp/src/application/EditApplication.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./EditApplication.vue?vue&type=script&lang=js&",
+ "loc": "2:0-67"
+ },
+ {
+ "moduleId": "./ClientApp/src/application/EditApplication.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "module": "./ClientApp/src/application/EditApplication.vue",
+ "moduleName": "./ClientApp/src/application/EditApplication.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./EditApplication.vue?vue&type=script&lang=js&",
+ "loc": "3:0-62"
},
{
- "moduleId": 42,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\TogglesList.vue",
- "module": "./ClientApp/TogglesList.vue",
- "moduleName": "./ClientApp/TogglesList.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./TogglesList.vue",
- "loc": "8:0-121"
+ "moduleId": "./ClientApp/src/application/EditApplication.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "module": "./ClientApp/src/application/EditApplication.vue",
+ "moduleName": "./ClientApp/src/application/EditApplication.vue",
+ "type": "harmony export imported specifier",
+ "userRequest": "./EditApplication.vue?vue&type=script&lang=js&",
+ "loc": "3:0-62"
+ },
+ {
+ "moduleId": "./ClientApp/src/application/EditApplication.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "module": "./ClientApp/src/application/EditApplication.vue",
+ "moduleName": "./ClientApp/src/application/EditApplication.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./EditApplication.vue?vue&type=script&lang=js&",
+ "loc": "9:2-8"
}
],
- "usedExports": [
- "default"
- ],
"providedExports": [
"default"
],
"optimizationBailout": [],
- "depth": 5,
- "source": "function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport axios from 'axios';\nimport _ from 'lodash';\nimport { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';\nimport { Bus } from './event-bus';\nimport PrettyCheck from 'pretty-checkbox-vue/check';\nimport ToggleScheduler from \"./ToggleScheduler\";\nimport EditFeatureToggle from './EditFeatureToggle';\nimport EditEnvironment from './EditEnvironment';\nimport DeleteFeatureToggle from './DeleteFeatureToggle';\n\nexport default {\n components: {\n 'p-check': PrettyCheck,\n 'toggle-scheduler': ToggleScheduler,\n 'edit-featureToggle': EditFeatureToggle,\n 'edit-environment': EditEnvironment,\n 'delete-featureToggle': DeleteFeatureToggle\n },\n data: function data() {\n return {\n signalRConnection: null,\n gridColumns: [],\n rowsPerPage: 10,\n selectedApp: {},\n toggles: [],\n environmentsList: [],\n scheduledToggles: [],\n environmentsToRefresh: [],\n showEditEnvironmentModal: false,\n showEditModal: false,\n showDeleteConfirmationModal: false,\n showSchedulerModal: false,\n isRefreshAlertVisible: false,\n isCacheRefreshEnabled: false\n };\n },\n\n computed: {\n showRefreshAlert: function showRefreshAlert() {\n return this.environmentsToRefresh.length > 0 ? this.isRefreshAlertVisible : false;\n },\n getPaginationOptions: function getPaginationOptions() {\n return { enabled: true, perPage: parseInt(this.getRowsPerPage()) };\n },\n environmentsNameList: function environmentsNameList() {\n return _.map(this.environmentsList, function (env) {\n return env.envName;\n });\n }\n },\n created: function created() {\n var _this = this;\n\n axios.get(\"/api/CacheRefresh/getCacheRefreshAvailability\").then(function (response) {\n _this.isCacheRefreshEnabled = response.data;\n }).catch(function (error) {\n return window.alert(error);\n });\n\n this.subscribeToBusEvents();\n },\n mounted: function mounted() {\n this.createSignalRConnection();\n },\n\n methods: {\n subscribeToBusEvents: function subscribeToBusEvents() {\n var _this2 = this;\n\n Bus.$on(\"app-changed\", function (app) {\n if (app) {\n _this2.selectedApp = app;\n _this2.loadGrid();\n }\n });\n\n Bus.$on(\"env-added\", function () {\n _this2.loadGrid();\n });\n\n Bus.$on(\"toggle-added\", function () {\n _this2.loadGridData();\n });\n\n Bus.$on(\"toggle-scheduled\", function () {\n _this2.getAllScheduledToggles();\n });\n\n Bus.$on('close-scheduler', function () {\n _this2.showSchedulerModal = false;\n _this2.getAllScheduledToggles();\n });\n\n Bus.$on('close-editEnvironment', function () {\n _this2.showEditEnvironmentModal = false;\n _this2.loadGrid();\n });\n\n Bus.$on('close-editFeatureFlag', function (environmentsToRefresh, isRefreshAlertVisible) {\n _this2.showEditModal = false;\n _this2.loadGrid();\n _this2.environmentsToRefresh = environmentsToRefresh;\n _this2.isRefreshAlertVisible = isRefreshAlertVisible;\n });\n\n Bus.$on('close-deleteToggle', function () {\n _this2.showDeleteConfirmationModal = false;\n _this2.loadGridData();\n });\n },\n createSignalRConnection: function createSignalRConnection() {\n var _this3 = this;\n\n this.signalRConnection = new HubConnectionBuilder().withUrl(\"/isDueHub\").configureLogging(LogLevel.Trace).build();\n\n try {\n this.signalRConnection.off('IsDue', this.signalScheduleIsDue);\n this.signalRConnection.on('IsDue', this.signalScheduleIsDue);\n this.signalRConnection.start();\n } catch (err) {\n setTimeout(function () {\n return _this3.createSignalRConnection();\n }, 5000);\n }\n },\n signalScheduleIsDue: function signalScheduleIsDue() {\n this.loadGridData(this.selectedApp.id);\n },\n createGridColumns: function createGridColumns() {\n this.$refs['toggleGrid'].reset();\n\n var columns = [{\n field: 'id',\n label: '',\n sortable: false,\n thClass: 'width-55'\n }, {\n field: 'toggleName',\n label: 'Feature Toggle Name',\n sortable: true,\n thClass: 'sortable',\n filterOptions: {\n enabled: true,\n placeholder: 'Filter Toggle Name'\n }\n }, {\n field: 'workItemIdentifier',\n label: 'Work Item ID',\n sortable: true,\n width: '140px',\n thClass: 'sortable',\n filterOptions: {\n enabled: true,\n placeholder: 'Filter Work Item ID'\n }\n }, {\n field: 'notes',\n label: 'Notes',\n sortable: true,\n thClass: 'sortable',\n filterOptions: {\n enabled: true,\n placeholder: 'Filter Notes'\n }\n }, {\n field: 'isPermanent',\n label: 'Is Permanent',\n type: 'boolean',\n sortable: true,\n thClass: 'sortable',\n filterOptions: {\n enabled: true,\n placeholder: 'Filter'\n },\n hidden: true\n }, {\n field: 'userAccepted',\n label: 'Accepted by User',\n type: 'boolean',\n sortable: false,\n filterOptions: {\n enabled: true,\n filterDropdownItems: [{ value: 'true', text: 'Accepted' }, { value: 'false', text: 'Unaccepted' }],\n filterValue: 'false',\n placeholder: 'All'\n }\n }, {\n field: 'createdDate',\n label: 'Created',\n sortable: false\n }];\n\n //create the environment columns\n columns.splice.apply(columns, [2, 0].concat(_toConsumableArray(_.map(this.environmentsNameList, function (envName) {\n return {\n field: envName,\n label: envName,\n type: 'boolean',\n sortable: false,\n filterOptions: {\n enabled: true,\n filterDropdownItems: [{ value: 'true', text: 'Active' }, { value: 'false', text: 'Inactive' }],\n placeholder: 'All'\n }\n };\n }))));\n\n this.gridColumns = columns;\n },\n getRowsPerPage: function getRowsPerPage() {\n if (localStorage.getItem('rowsPerPage') != null) {\n this.rowsPerPage = localStorage.getItem('rowsPerPage');\n }\n return this.rowsPerPage;\n },\n onPageChange: function onPageChange(page) {\n var perPage = page.currentPerPage;\n this.rowsPerPage = perPage;\n localStorage.setItem('rowsPerPage', perPage);\n },\n loadGrid: function loadGrid() {\n this.initializeGrid(this.selectedApp);\n this.loadGridData();\n },\n initializeGrid: function initializeGrid(app) {\n var _this4 = this;\n\n this.environmentsList = [];\n\n axios.get(\"/api/FeatureToggles/environments\", {\n params: {\n applicationId: app.id\n }\n }).then(function (response) {\n _this4.environmentsList = response.data;\n _this4.createGridColumns();\n\n Bus.$emit('env-loaded', _this4.environmentsNameList);\n }).catch(function (e) {\n window.alert(e);\n });\n },\n loadGridData: function loadGridData() {\n var _this5 = this;\n\n this.getAllScheduledToggles(this.selectedApp.id);\n\n axios.get(\"/api/FeatureToggles\", {\n params: {\n applicationId: this.selectedApp.id\n }\n }).then(function (response) {\n //create the flattened row models\n var gridRowModels = _.map(response.data, function (toggle) {\n var rowModel = {\n id: toggle.id,\n toggleName: toggle.toggleName,\n userAccepted: toggle.userAccepted,\n isPermanent: toggle.isPermanent,\n notes: toggle.notes,\n workItemIdentifier: toggle.workItemIdentifier,\n createdDate: new Date(toggle.createdDate),\n reasonsToChange: toggle.reasonsToChange.reverse()\n };\n\n _this5.environmentsNameList.forEach(function (env) {\n var envStatus = _.find(toggle.statuses, function (status) {\n return status.environment === env;\n });\n rowModel[env] = envStatus ? envStatus.enabled : false;\n rowModel[env + '_IsDeployed'] = envStatus ? envStatus.isDeployed : false;\n rowModel[env + '_FirstTimeDeployDate'] = envStatus ? envStatus.firstTimeDeployDate : \"\";\n rowModel[env + '_LastUpdated'] = envStatus ? envStatus.lastUpdated : \"\";\n rowModel[env + '_UpdatedByUser'] = envStatus ? envStatus.updatedByUser : \"\";\n });\n return rowModel;\n });\n _this5.toggles = gridRowModels;\n Bus.$emit('toggles-loaded', gridRowModels);\n }).catch(function () {\n //do not uncomment this, the null reference exception will return to haunt us !\n //window.alert(error)\n });\n },\n getAllScheduledToggles: function getAllScheduledToggles() {\n var _this6 = this;\n\n this.scheduledToggles = [];\n\n axios.get(\"/api/toggleScheduler\", {\n params: {\n applicationId: this.selectedApp.id\n }\n }).then(function (response) {\n _this6.scheduledToggles = response.data;\n });\n },\n getSchedulesForToggle: function getSchedulesForToggle(toggleName) {\n return _.map(this.scheduledToggles.filter(function (ft) {\n return ft.toggleName == toggleName;\n }), function (sch) {\n return {\n scheduleId: sch.id,\n toggleName: sch.toggleName,\n scheduledDate: sch.scheduledDate,\n scheduledState: sch.scheduledState,\n updatedBy: sch.updatedBy,\n environments: sch.environments\n };\n });\n },\n editToggleSchedule: function editToggleSchedule(toggle) {\n Bus.$emit(\"edit-schedule\", toggle.scheduleId);\n this.showSchedulerModal = true;\n },\n openEditEnvironmentModal: function openEditEnvironmentModal(column) {\n var environment = this.environmentsList.find(function (element) {\n return element.envName == column.field;\n });\n this.showEditEnvironmentModal = true;\n Bus.$emit('edit-environment', environment);\n },\n openEditFeatureToggleModal: function openEditFeatureToggleModal(row) {\n this.showEditModal = true;\n Bus.$emit('open-editFeatureToggle', _.clone(row));\n },\n openDeleteFeatureToggleConfirmationModal: function openDeleteFeatureToggleConfirmationModal(row) {\n this.showDeleteConfirmationModal = true;\n Bus.$emit('delete-featureToggle', row);\n },\n refreshEnvironmentToggles: function refreshEnvironmentToggles(env, index) {\n var _this7 = this;\n\n if (!this.selectedApp) return;\n\n Bus.$emit('block-ui');\n\n axios.post('api/CacheRefresh', {\n applicationId: this.selectedApp.id,\n envName: env\n }).then(function () {\n _this7.environmentsToRefresh.splice(index, 1);\n ///shouldn't need the below code, but computed value doesn't register the length as 0 without it\n if (_this7.environmentsToRefresh.length === 0) {\n _this7.environmentsToRefresh = [];\n }\n _this7.$notify({\n type: 'success',\n content: env + ' Cache Refreshed.',\n offsetY: 70,\n icon: 'fas fa-check-circle'\n });\n }).catch(function (e) {\n window.alert(e);\n }).finally(function () {\n Bus.$emit('unblock-ui');\n });\n },\n closeRefreshAlert: function closeRefreshAlert() {\n this.isRefreshAlertVisible = false;\n },\n isEnvironmentColumn: function isEnvironmentColumn(column) {\n return column.type == 'boolean' && column.field != 'userAccepted';\n }\n }\n};"
+ "depth": 6,
+ "source": "import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditApplication.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditApplication.vue?vue&type=script&lang=js&\""
},
{
- "id": 17,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\DefaultHttpClient.js",
- "name": "./node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js",
- "index": 20,
- "index2": 22,
- "size": 2334,
+ "id": "./ClientApp/src/application/EditApplication.vue?vue&type=template&id=62db0565&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue?vue&type=template&id=62db0565&",
+ "name": "./ClientApp/src/application/EditApplication.vue?vue&type=template&id=62db0565&",
+ "index": 71,
+ "index2": 66,
+ "size": 219,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "issuerId": "./ClientApp/src/application/EditApplication.vue",
+ "issuerName": "./ClientApp/src/application/EditApplication.vue",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/application/EditApplication.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "name": "./ClientApp/src/application/EditApplication.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\index.js",
- "issuerId": 48,
- "issuerName": "./node_modules/@microsoft/signalr/dist/esm/index.js",
"profile": {
- "factory": 439,
- "building": 16,
- "dependencies": 1
+ "factory": 346,
+ "building": 1
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 48,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\index.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "type": "harmony import",
- "userRequest": "./DefaultHttpClient",
- "loc": "8:0-56"
+ "moduleId": "./ClientApp/src/application/EditApplication.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "module": "./ClientApp/src/application/EditApplication.vue",
+ "moduleName": "./ClientApp/src/application/EditApplication.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./EditApplication.vue?vue&type=template&id=62db0565&",
+ "loc": "1:0-94"
+ },
+ {
+ "moduleId": "./ClientApp/src/application/EditApplication.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "module": "./ClientApp/src/application/EditApplication.vue",
+ "moduleName": "./ClientApp/src/application/EditApplication.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./EditApplication.vue?vue&type=template&id=62db0565&",
+ "loc": "10:2-8"
},
{
- "moduleId": 57,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\HttpConnection.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/HttpConnection.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/HttpConnection.js",
- "type": "harmony import",
- "userRequest": "./DefaultHttpClient",
- "loc": "38:0-56"
+ "moduleId": "./ClientApp/src/application/EditApplication.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue",
+ "module": "./ClientApp/src/application/EditApplication.vue",
+ "moduleName": "./ClientApp/src/application/EditApplication.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./EditApplication.vue?vue&type=template&id=62db0565&",
+ "loc": "11:2-17"
}
],
- "usedExports": [
- "DefaultHttpClient"
- ],
"providedExports": [
- "DefaultHttpClient"
+ "render",
+ "staticRenderFns"
],
"optimizationBailout": [],
- "depth": 7,
- "source": "// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nimport { AbortError } from \"./Errors\";\r\nimport { HttpClient } from \"./HttpClient\";\r\nimport { NodeHttpClient } from \"./NodeHttpClient\";\r\nimport { XhrHttpClient } from \"./XhrHttpClient\";\r\n/** Default implementation of {@link @microsoft/signalr.HttpClient}. */\r\nvar DefaultHttpClient = /** @class */ (function (_super) {\r\n __extends(DefaultHttpClient, _super);\r\n /** Creates a new instance of the {@link @microsoft/signalr.DefaultHttpClient}, using the provided {@link @microsoft/signalr.ILogger} to log messages. */\r\n function DefaultHttpClient(logger) {\r\n var _this = _super.call(this) || this;\r\n if (typeof XMLHttpRequest !== \"undefined\") {\r\n _this.httpClient = new XhrHttpClient(logger);\r\n }\r\n else {\r\n _this.httpClient = new NodeHttpClient(logger);\r\n }\r\n return _this;\r\n }\r\n /** @inheritDoc */\r\n DefaultHttpClient.prototype.send = function (request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return this.httpClient.send(request);\r\n };\r\n DefaultHttpClient.prototype.getCookieString = function (url) {\r\n return this.httpClient.getCookieString(url);\r\n };\r\n return DefaultHttpClient;\r\n}(HttpClient));\r\nexport { DefaultHttpClient };\r\n//# sourceMappingURL=DefaultHttpClient.js.map"
+ "depth": 6,
+ "source": "export * from \"-!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditApplication.vue?vue&type=template&id=62db0565&\""
},
{
- "id": 18,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\buffer\\index.js",
- "name": "./node_modules/buffer/index.js",
- "index": 22,
- "index2": 16,
- "size": 48610,
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "index": 1,
+ "index2": 106,
+ "size": 302,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "issuerId": 0,
+ "issuerName": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\NodeHttpClient.js",
- "issuerId": 49,
- "issuerName": "./node_modules/@microsoft/signalr/dist/esm/NodeHttpClient.js",
"profile": {
- "factory": 15,
- "building": 19,
- "dependencies": 1
+ "factory": 216,
+ "building": 4096
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 49,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\NodeHttpClient.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/NodeHttpClient.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/NodeHttpClient.js",
- "type": "cjs require",
- "userRequest": "Buffer",
- "loc": "1:0-40"
- },
- {
- "moduleId": 54,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\HandshakeProtocol.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js",
- "type": "cjs require",
- "userRequest": "Buffer",
- "loc": "1:0-40"
+ "moduleId": 0,
+ "moduleIdentifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "module": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "moduleName": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "type": "single entry",
+ "userRequest": "./ClientApp/src/boot.js",
+ "loc": "main[0]"
}
],
- "usedExports": true,
- "providedExports": null,
+ "providedExports": [],
"optimizationBailout": [],
- "depth": 9,
- "source": "/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh
\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n"
+ "depth": 1,
+ "source": "import Vue from 'vue';\nimport App from './App.vue';\nimport VueGoodTablePlugin from 'vue-good-table';\nimport * as uiv from 'uiv';\n\nVue.use(VueGoodTablePlugin);\nVue.use(uiv);\nVue.use(require('vue-moment'));\n\nnew Vue({\n el: '#app-root',\n render: function render(h) {\n return h(App);\n }\n});"
},
{
- "id": 19,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\HubConnection.js",
- "name": "./node_modules/@microsoft/signalr/dist/esm/HubConnection.js",
- "index": 30,
- "index2": 27,
- "size": 47369,
+ "id": "./ClientApp/src/common/BlockUi.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "name": "./ClientApp/src/common/BlockUi.vue",
+ "index": 100,
+ "index2": 99,
+ "size": 1104,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "issuerId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "issuerName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\index.js",
- "issuerId": 48,
- "issuerName": "./node_modules/@microsoft/signalr/dist/esm/index.js",
"profile": {
- "factory": 439,
- "building": 62,
- "dependencies": 2
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 48,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\index.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "type": "harmony import",
- "userRequest": "./HubConnection",
- "loc": "9:0-68"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./common/BlockUi",
+ "loc": "103:0-39"
},
{
- "moduleId": 55,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\HubConnectionBuilder.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js",
- "type": "harmony import",
- "userRequest": "./HubConnection",
- "loc": "13:0-48"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/BlockUi",
+ "loc": "118:20-27"
}
],
- "usedExports": [
- "HubConnection"
- ],
"providedExports": [
- "HubConnectionState",
- "HubConnection"
+ "default"
],
"optimizationBailout": [],
- "depth": 7,
- "source": "// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { HandshakeProtocol } from \"./HandshakeProtocol\";\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { Subject } from \"./Subject\";\r\nimport { Arg } from \"./Utils\";\r\nvar DEFAULT_TIMEOUT_IN_MS = 30 * 1000;\r\nvar DEFAULT_PING_INTERVAL_IN_MS = 15 * 1000;\r\n/** Describes the current state of the {@link HubConnection} to the server. */\r\nexport var HubConnectionState;\r\n(function (HubConnectionState) {\r\n /** The hub connection is disconnected. */\r\n HubConnectionState[\"Disconnected\"] = \"Disconnected\";\r\n /** The hub connection is connecting. */\r\n HubConnectionState[\"Connecting\"] = \"Connecting\";\r\n /** The hub connection is connected. */\r\n HubConnectionState[\"Connected\"] = \"Connected\";\r\n /** The hub connection is disconnecting. */\r\n HubConnectionState[\"Disconnecting\"] = \"Disconnecting\";\r\n /** The hub connection is reconnecting. */\r\n HubConnectionState[\"Reconnecting\"] = \"Reconnecting\";\r\n})(HubConnectionState || (HubConnectionState = {}));\r\n/** Represents a connection to a SignalR Hub. */\r\nvar HubConnection = /** @class */ (function () {\r\n function HubConnection(connection, logger, protocol, reconnectPolicy) {\r\n var _this = this;\r\n Arg.isRequired(connection, \"connection\");\r\n Arg.isRequired(logger, \"logger\");\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS;\r\n this.keepAliveIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS;\r\n this.logger = logger;\r\n this.protocol = protocol;\r\n this.connection = connection;\r\n this.reconnectPolicy = reconnectPolicy;\r\n this.handshakeProtocol = new HandshakeProtocol();\r\n this.connection.onreceive = function (data) { return _this.processIncomingData(data); };\r\n this.connection.onclose = function (error) { return _this.connectionClosed(error); };\r\n this.callbacks = {};\r\n this.methods = {};\r\n this.closedCallbacks = [];\r\n this.reconnectingCallbacks = [];\r\n this.reconnectedCallbacks = [];\r\n this.invocationId = 0;\r\n this.receivedHandshakeResponse = false;\r\n this.connectionState = HubConnectionState.Disconnected;\r\n this.connectionStarted = false;\r\n this.cachedPingMessage = this.protocol.writeMessage({ type: MessageType.Ping });\r\n }\r\n /** @internal */\r\n // Using a public static factory method means we can have a private constructor and an _internal_\r\n // create method that can be used by HubConnectionBuilder. An \"internal\" constructor would just\r\n // be stripped away and the '.d.ts' file would have no constructor, which is interpreted as a\r\n // public parameter-less constructor.\r\n HubConnection.create = function (connection, logger, protocol, reconnectPolicy) {\r\n return new HubConnection(connection, logger, protocol, reconnectPolicy);\r\n };\r\n Object.defineProperty(HubConnection.prototype, \"state\", {\r\n /** Indicates the state of the {@link HubConnection} to the server. */\r\n get: function () {\r\n return this.connectionState;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(HubConnection.prototype, \"connectionId\", {\r\n /** Represents the connection id of the {@link HubConnection} on the server. The connection id will be null when the connection is either\r\n * in the disconnected state or if the negotiation step was skipped.\r\n */\r\n get: function () {\r\n return this.connection ? (this.connection.connectionId || null) : null;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(HubConnection.prototype, \"baseUrl\", {\r\n /** Indicates the url of the {@link HubConnection} to the server. */\r\n get: function () {\r\n return this.connection.baseUrl || \"\";\r\n },\r\n /**\r\n * Sets a new url for the HubConnection. Note that the url can only be changed when the connection is in either the Disconnected or\r\n * Reconnecting states.\r\n * @param {string} url The url to connect to.\r\n */\r\n set: function (url) {\r\n if (this.connectionState !== HubConnectionState.Disconnected && this.connectionState !== HubConnectionState.Reconnecting) {\r\n throw new Error(\"The HubConnection must be in the Disconnected or Reconnecting state to change the url.\");\r\n }\r\n if (!url) {\r\n throw new Error(\"The HubConnection url must be a valid url.\");\r\n }\r\n this.connection.baseUrl = url;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /** Starts the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully established, or rejects with an error.\r\n */\r\n HubConnection.prototype.start = function () {\r\n this.startPromise = this.startWithStateTransitions();\r\n return this.startPromise;\r\n };\r\n HubConnection.prototype.startWithStateTransitions = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (this.connectionState !== HubConnectionState.Disconnected) {\r\n return [2 /*return*/, Promise.reject(new Error(\"Cannot start a HubConnection that is not in the 'Disconnected' state.\"))];\r\n }\r\n this.connectionState = HubConnectionState.Connecting;\r\n this.logger.log(LogLevel.Debug, \"Starting HubConnection.\");\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.startInternal()];\r\n case 2:\r\n _a.sent();\r\n this.connectionState = HubConnectionState.Connected;\r\n this.connectionStarted = true;\r\n this.logger.log(LogLevel.Debug, \"HubConnection connected successfully.\");\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_1 = _a.sent();\r\n this.connectionState = HubConnectionState.Disconnected;\r\n this.logger.log(LogLevel.Debug, \"HubConnection failed to start successfully because of error '\" + e_1 + \"'.\");\r\n return [2 /*return*/, Promise.reject(e_1)];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n HubConnection.prototype.startInternal = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var handshakePromise, handshakeRequest, e_2;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.stopDuringStartError = undefined;\r\n this.receivedHandshakeResponse = false;\r\n handshakePromise = new Promise(function (resolve, reject) {\r\n _this.handshakeResolver = resolve;\r\n _this.handshakeRejecter = reject;\r\n });\r\n return [4 /*yield*/, this.connection.start(this.protocol.transferFormat)];\r\n case 1:\r\n _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 5, , 7]);\r\n handshakeRequest = {\r\n protocol: this.protocol.name,\r\n version: this.protocol.version,\r\n };\r\n this.logger.log(LogLevel.Debug, \"Sending handshake request.\");\r\n return [4 /*yield*/, this.sendMessage(this.handshakeProtocol.writeHandshakeRequest(handshakeRequest))];\r\n case 3:\r\n _a.sent();\r\n this.logger.log(LogLevel.Information, \"Using HubProtocol '\" + this.protocol.name + \"'.\");\r\n // defensively cleanup timeout in case we receive a message from the server before we finish start\r\n this.cleanupTimeout();\r\n this.resetTimeoutPeriod();\r\n this.resetKeepAliveInterval();\r\n return [4 /*yield*/, handshakePromise];\r\n case 4:\r\n _a.sent();\r\n // It's important to check the stopDuringStartError instead of just relying on the handshakePromise\r\n // being rejected on close, because this continuation can run after both the handshake completed successfully\r\n // and the connection was closed.\r\n if (this.stopDuringStartError) {\r\n // It's important to throw instead of returning a rejected promise, because we don't want to allow any state\r\n // transitions to occur between now and the calling code observing the exceptions. Returning a rejected promise\r\n // will cause the calling continuation to get scheduled to run later.\r\n throw this.stopDuringStartError;\r\n }\r\n return [3 /*break*/, 7];\r\n case 5:\r\n e_2 = _a.sent();\r\n this.logger.log(LogLevel.Debug, \"Hub handshake failed with error '\" + e_2 + \"' during start(). Stopping HubConnection.\");\r\n this.cleanupTimeout();\r\n this.cleanupPingTimer();\r\n // HttpConnection.stop() should not complete until after the onclose callback is invoked.\r\n // This will transition the HubConnection to the disconnected state before HttpConnection.stop() completes.\r\n return [4 /*yield*/, this.connection.stop(e_2)];\r\n case 6:\r\n // HttpConnection.stop() should not complete until after the onclose callback is invoked.\r\n // This will transition the HubConnection to the disconnected state before HttpConnection.stop() completes.\r\n _a.sent();\r\n throw e_2;\r\n case 7: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /** Stops the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully terminated, or rejects with an error.\r\n */\r\n HubConnection.prototype.stop = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var startPromise, e_3;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n startPromise = this.startPromise;\r\n this.stopPromise = this.stopInternal();\r\n return [4 /*yield*/, this.stopPromise];\r\n case 1:\r\n _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 4, , 5]);\r\n // Awaiting undefined continues immediately\r\n return [4 /*yield*/, startPromise];\r\n case 3:\r\n // Awaiting undefined continues immediately\r\n _a.sent();\r\n return [3 /*break*/, 5];\r\n case 4:\r\n e_3 = _a.sent();\r\n return [3 /*break*/, 5];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n HubConnection.prototype.stopInternal = function (error) {\r\n if (this.connectionState === HubConnectionState.Disconnected) {\r\n this.logger.log(LogLevel.Debug, \"Call to HubConnection.stop(\" + error + \") ignored because it is already in the disconnected state.\");\r\n return Promise.resolve();\r\n }\r\n if (this.connectionState === HubConnectionState.Disconnecting) {\r\n this.logger.log(LogLevel.Debug, \"Call to HttpConnection.stop(\" + error + \") ignored because the connection is already in the disconnecting state.\");\r\n return this.stopPromise;\r\n }\r\n this.connectionState = HubConnectionState.Disconnecting;\r\n this.logger.log(LogLevel.Debug, \"Stopping HubConnection.\");\r\n if (this.reconnectDelayHandle) {\r\n // We're in a reconnect delay which means the underlying connection is currently already stopped.\r\n // Just clear the handle to stop the reconnect loop (which no one is waiting on thankfully) and\r\n // fire the onclose callbacks.\r\n this.logger.log(LogLevel.Debug, \"Connection stopped during reconnect delay. Done reconnecting.\");\r\n clearTimeout(this.reconnectDelayHandle);\r\n this.reconnectDelayHandle = undefined;\r\n this.completeClose();\r\n return Promise.resolve();\r\n }\r\n this.cleanupTimeout();\r\n this.cleanupPingTimer();\r\n this.stopDuringStartError = error || new Error(\"The connection was stopped before the hub handshake could complete.\");\r\n // HttpConnection.stop() should not complete until after either HttpConnection.start() fails\r\n // or the onclose callback is invoked. The onclose callback will transition the HubConnection\r\n // to the disconnected state if need be before HttpConnection.stop() completes.\r\n return this.connection.stop(error);\r\n };\r\n /** Invokes a streaming hub method on the server using the specified name and arguments.\r\n *\r\n * @typeparam T The type of the items returned by the server.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {IStreamResult} An object that yields results from the server as they are received.\r\n */\r\n HubConnection.prototype.stream = function (methodName) {\r\n var _this = this;\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var _a = this.replaceStreamingParams(args), streams = _a[0], streamIds = _a[1];\r\n var invocationDescriptor = this.createStreamInvocation(methodName, args, streamIds);\r\n var promiseQueue;\r\n var subject = new Subject();\r\n subject.cancelCallback = function () {\r\n var cancelInvocation = _this.createCancelInvocation(invocationDescriptor.invocationId);\r\n delete _this.callbacks[invocationDescriptor.invocationId];\r\n return promiseQueue.then(function () {\r\n return _this.sendWithProtocol(cancelInvocation);\r\n });\r\n };\r\n this.callbacks[invocationDescriptor.invocationId] = function (invocationEvent, error) {\r\n if (error) {\r\n subject.error(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n subject.error(new Error(invocationEvent.error));\r\n }\r\n else {\r\n subject.complete();\r\n }\r\n }\r\n else {\r\n subject.next((invocationEvent.item));\r\n }\r\n }\r\n };\r\n promiseQueue = this.sendWithProtocol(invocationDescriptor)\r\n .catch(function (e) {\r\n subject.error(e);\r\n delete _this.callbacks[invocationDescriptor.invocationId];\r\n });\r\n this.launchStreams(streams, promiseQueue);\r\n return subject;\r\n };\r\n HubConnection.prototype.sendMessage = function (message) {\r\n this.resetKeepAliveInterval();\r\n return this.connection.send(message);\r\n };\r\n /**\r\n * Sends a js object to the server.\r\n * @param message The js object to serialize and send.\r\n */\r\n HubConnection.prototype.sendWithProtocol = function (message) {\r\n return this.sendMessage(this.protocol.writeMessage(message));\r\n };\r\n /** Invokes a hub method on the server using the specified name and arguments. Does not wait for a response from the receiver.\r\n *\r\n * The Promise returned by this method resolves when the client has sent the invocation to the server. The server may still\r\n * be processing the invocation.\r\n *\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves when the invocation has been successfully sent, or rejects with an error.\r\n */\r\n HubConnection.prototype.send = function (methodName) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var _a = this.replaceStreamingParams(args), streams = _a[0], streamIds = _a[1];\r\n var sendPromise = this.sendWithProtocol(this.createInvocation(methodName, args, true, streamIds));\r\n this.launchStreams(streams, sendPromise);\r\n return sendPromise;\r\n };\r\n /** Invokes a hub method on the server using the specified name and arguments.\r\n *\r\n * The Promise returned by this method resolves when the server indicates it has finished invoking the method. When the promise\r\n * resolves, the server has finished invoking the method. If the server method returns a result, it is produced as the result of\r\n * resolving the Promise.\r\n *\r\n * @typeparam T The expected return type.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves with the result of the server method (if any), or rejects with an error.\r\n */\r\n HubConnection.prototype.invoke = function (methodName) {\r\n var _this = this;\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var _a = this.replaceStreamingParams(args), streams = _a[0], streamIds = _a[1];\r\n var invocationDescriptor = this.createInvocation(methodName, args, false, streamIds);\r\n var p = new Promise(function (resolve, reject) {\r\n // invocationId will always have a value for a non-blocking invocation\r\n _this.callbacks[invocationDescriptor.invocationId] = function (invocationEvent, error) {\r\n if (error) {\r\n reject(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n reject(new Error(invocationEvent.error));\r\n }\r\n else {\r\n resolve(invocationEvent.result);\r\n }\r\n }\r\n else {\r\n reject(new Error(\"Unexpected message type: \" + invocationEvent.type));\r\n }\r\n }\r\n };\r\n var promiseQueue = _this.sendWithProtocol(invocationDescriptor)\r\n .catch(function (e) {\r\n reject(e);\r\n // invocationId will always have a value for a non-blocking invocation\r\n delete _this.callbacks[invocationDescriptor.invocationId];\r\n });\r\n _this.launchStreams(streams, promiseQueue);\r\n });\r\n return p;\r\n };\r\n /** Registers a handler that will be invoked when the hub method with the specified method name is invoked.\r\n *\r\n * @param {string} methodName The name of the hub method to define.\r\n * @param {Function} newMethod The handler that will be raised when the hub method is invoked.\r\n */\r\n HubConnection.prototype.on = function (methodName, newMethod) {\r\n if (!methodName || !newMethod) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n if (!this.methods[methodName]) {\r\n this.methods[methodName] = [];\r\n }\r\n // Preventing adding the same handler multiple times.\r\n if (this.methods[methodName].indexOf(newMethod) !== -1) {\r\n return;\r\n }\r\n this.methods[methodName].push(newMethod);\r\n };\r\n HubConnection.prototype.off = function (methodName, method) {\r\n if (!methodName) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n var handlers = this.methods[methodName];\r\n if (!handlers) {\r\n return;\r\n }\r\n if (method) {\r\n var removeIdx = handlers.indexOf(method);\r\n if (removeIdx !== -1) {\r\n handlers.splice(removeIdx, 1);\r\n if (handlers.length === 0) {\r\n delete this.methods[methodName];\r\n }\r\n }\r\n }\r\n else {\r\n delete this.methods[methodName];\r\n }\r\n };\r\n /** Registers a handler that will be invoked when the connection is closed.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection is closed. Optionally receives a single argument containing the error that caused the connection to close (if any).\r\n */\r\n HubConnection.prototype.onclose = function (callback) {\r\n if (callback) {\r\n this.closedCallbacks.push(callback);\r\n }\r\n };\r\n /** Registers a handler that will be invoked when the connection starts reconnecting.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection starts reconnecting. Optionally receives a single argument containing the error that caused the connection to start reconnecting (if any).\r\n */\r\n HubConnection.prototype.onreconnecting = function (callback) {\r\n if (callback) {\r\n this.reconnectingCallbacks.push(callback);\r\n }\r\n };\r\n /** Registers a handler that will be invoked when the connection successfully reconnects.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection successfully reconnects.\r\n */\r\n HubConnection.prototype.onreconnected = function (callback) {\r\n if (callback) {\r\n this.reconnectedCallbacks.push(callback);\r\n }\r\n };\r\n HubConnection.prototype.processIncomingData = function (data) {\r\n this.cleanupTimeout();\r\n if (!this.receivedHandshakeResponse) {\r\n data = this.processHandshakeResponse(data);\r\n this.receivedHandshakeResponse = true;\r\n }\r\n // Data may have all been read when processing handshake response\r\n if (data) {\r\n // Parse the messages\r\n var messages = this.protocol.parseMessages(data, this.logger);\r\n for (var _i = 0, messages_1 = messages; _i < messages_1.length; _i++) {\r\n var message = messages_1[_i];\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n this.invokeClientMethod(message);\r\n break;\r\n case MessageType.StreamItem:\r\n case MessageType.Completion:\r\n var callback = this.callbacks[message.invocationId];\r\n if (callback) {\r\n if (message.type === MessageType.Completion) {\r\n delete this.callbacks[message.invocationId];\r\n }\r\n callback(message);\r\n }\r\n break;\r\n case MessageType.Ping:\r\n // Don't care about pings\r\n break;\r\n case MessageType.Close:\r\n this.logger.log(LogLevel.Information, \"Close message received from server.\");\r\n var error = message.error ? new Error(\"Server returned an error on close: \" + message.error) : undefined;\r\n if (message.allowReconnect === true) {\r\n // It feels wrong not to await connection.stop() here, but processIncomingData is called as part of an onreceive callback which is not async,\r\n // this is already the behavior for serverTimeout(), and HttpConnection.Stop() should catch and log all possible exceptions.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(error);\r\n }\r\n else {\r\n // We cannot await stopInternal() here, but subsequent calls to stop() will await this if stopInternal() is still ongoing.\r\n this.stopPromise = this.stopInternal(error);\r\n }\r\n break;\r\n default:\r\n this.logger.log(LogLevel.Warning, \"Invalid message type: \" + message.type + \".\");\r\n break;\r\n }\r\n }\r\n }\r\n this.resetTimeoutPeriod();\r\n };\r\n HubConnection.prototype.processHandshakeResponse = function (data) {\r\n var _a;\r\n var responseMessage;\r\n var remainingData;\r\n try {\r\n _a = this.handshakeProtocol.parseHandshakeResponse(data), remainingData = _a[0], responseMessage = _a[1];\r\n }\r\n catch (e) {\r\n var message = \"Error parsing handshake response: \" + e;\r\n this.logger.log(LogLevel.Error, message);\r\n var error = new Error(message);\r\n this.handshakeRejecter(error);\r\n throw error;\r\n }\r\n if (responseMessage.error) {\r\n var message = \"Server returned handshake error: \" + responseMessage.error;\r\n this.logger.log(LogLevel.Error, message);\r\n var error = new Error(message);\r\n this.handshakeRejecter(error);\r\n throw error;\r\n }\r\n else {\r\n this.logger.log(LogLevel.Debug, \"Server handshake complete.\");\r\n }\r\n this.handshakeResolver();\r\n return remainingData;\r\n };\r\n HubConnection.prototype.resetKeepAliveInterval = function () {\r\n var _this = this;\r\n this.cleanupPingTimer();\r\n this.pingServerHandle = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!(this.connectionState === HubConnectionState.Connected)) return [3 /*break*/, 4];\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.sendMessage(this.cachedPingMessage)];\r\n case 2:\r\n _b.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n _a = _b.sent();\r\n // We don't care about the error. It should be seen elsewhere in the client.\r\n // The connection is probably in a bad or closed state now, cleanup the timer so it stops triggering\r\n this.cleanupPingTimer();\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); }, this.keepAliveIntervalInMilliseconds);\r\n };\r\n HubConnection.prototype.resetTimeoutPeriod = function () {\r\n var _this = this;\r\n if (!this.connection.features || !this.connection.features.inherentKeepAlive) {\r\n // Set the timeout timer\r\n this.timeoutHandle = setTimeout(function () { return _this.serverTimeout(); }, this.serverTimeoutInMilliseconds);\r\n }\r\n };\r\n HubConnection.prototype.serverTimeout = function () {\r\n // The server hasn't talked to us in a while. It doesn't like us anymore ... :(\r\n // Terminate the connection, but we don't need to wait on the promise. This could trigger reconnecting.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(new Error(\"Server timeout elapsed without receiving a message from the server.\"));\r\n };\r\n HubConnection.prototype.invokeClientMethod = function (invocationMessage) {\r\n var _this = this;\r\n var methods = this.methods[invocationMessage.target.toLowerCase()];\r\n if (methods) {\r\n try {\r\n methods.forEach(function (m) { return m.apply(_this, invocationMessage.arguments); });\r\n }\r\n catch (e) {\r\n this.logger.log(LogLevel.Error, \"A callback for the method \" + invocationMessage.target.toLowerCase() + \" threw error '\" + e + \"'.\");\r\n }\r\n if (invocationMessage.invocationId) {\r\n // This is not supported in v1. So we return an error to avoid blocking the server waiting for the response.\r\n var message = \"Server requested a response, which is not supported in this version of the client.\";\r\n this.logger.log(LogLevel.Error, message);\r\n // We don't want to wait on the stop itself.\r\n this.stopPromise = this.stopInternal(new Error(message));\r\n }\r\n }\r\n else {\r\n this.logger.log(LogLevel.Warning, \"No client method with the name '\" + invocationMessage.target + \"' found.\");\r\n }\r\n };\r\n HubConnection.prototype.connectionClosed = function (error) {\r\n this.logger.log(LogLevel.Debug, \"HubConnection.connectionClosed(\" + error + \") called while in state \" + this.connectionState + \".\");\r\n // Triggering this.handshakeRejecter is insufficient because it could already be resolved without the continuation having run yet.\r\n this.stopDuringStartError = this.stopDuringStartError || error || new Error(\"The underlying connection was closed before the hub handshake could complete.\");\r\n // If the handshake is in progress, start will be waiting for the handshake promise, so we complete it.\r\n // If it has already completed, this should just noop.\r\n if (this.handshakeResolver) {\r\n this.handshakeResolver();\r\n }\r\n this.cancelCallbacksWithError(error || new Error(\"Invocation canceled due to the underlying connection being closed.\"));\r\n this.cleanupTimeout();\r\n this.cleanupPingTimer();\r\n if (this.connectionState === HubConnectionState.Disconnecting) {\r\n this.completeClose(error);\r\n }\r\n else if (this.connectionState === HubConnectionState.Connected && this.reconnectPolicy) {\r\n // tslint:disable-next-line:no-floating-promises\r\n this.reconnect(error);\r\n }\r\n else if (this.connectionState === HubConnectionState.Connected) {\r\n this.completeClose(error);\r\n }\r\n // If none of the above if conditions were true were called the HubConnection must be in either:\r\n // 1. The Connecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail it.\r\n // 2. The Reconnecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail the current reconnect attempt\r\n // and potentially continue the reconnect() loop.\r\n // 3. The Disconnected state in which case we're already done.\r\n };\r\n HubConnection.prototype.completeClose = function (error) {\r\n var _this = this;\r\n if (this.connectionStarted) {\r\n this.connectionState = HubConnectionState.Disconnected;\r\n this.connectionStarted = false;\r\n try {\r\n this.closedCallbacks.forEach(function (c) { return c.apply(_this, [error]); });\r\n }\r\n catch (e) {\r\n this.logger.log(LogLevel.Error, \"An onclose callback called with error '\" + error + \"' threw error '\" + e + \"'.\");\r\n }\r\n }\r\n };\r\n HubConnection.prototype.reconnect = function (error) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var reconnectStartTime, previousReconnectAttempts, retryError, nextRetryDelay, e_4;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n reconnectStartTime = Date.now();\r\n previousReconnectAttempts = 0;\r\n retryError = error !== undefined ? error : new Error(\"Attempting to reconnect due to a unknown error.\");\r\n nextRetryDelay = this.getNextRetryDelay(previousReconnectAttempts++, 0, retryError);\r\n if (nextRetryDelay === null) {\r\n this.logger.log(LogLevel.Debug, \"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.\");\r\n this.completeClose(error);\r\n return [2 /*return*/];\r\n }\r\n this.connectionState = HubConnectionState.Reconnecting;\r\n if (error) {\r\n this.logger.log(LogLevel.Information, \"Connection reconnecting because of error '\" + error + \"'.\");\r\n }\r\n else {\r\n this.logger.log(LogLevel.Information, \"Connection reconnecting.\");\r\n }\r\n if (this.onreconnecting) {\r\n try {\r\n this.reconnectingCallbacks.forEach(function (c) { return c.apply(_this, [error]); });\r\n }\r\n catch (e) {\r\n this.logger.log(LogLevel.Error, \"An onreconnecting callback called with error '\" + error + \"' threw error '\" + e + \"'.\");\r\n }\r\n // Exit early if an onreconnecting callback called connection.stop().\r\n if (this.connectionState !== HubConnectionState.Reconnecting) {\r\n this.logger.log(LogLevel.Debug, \"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.\");\r\n return [2 /*return*/];\r\n }\r\n }\r\n _a.label = 1;\r\n case 1:\r\n if (!(nextRetryDelay !== null)) return [3 /*break*/, 7];\r\n this.logger.log(LogLevel.Information, \"Reconnect attempt number \" + previousReconnectAttempts + \" will start in \" + nextRetryDelay + \" ms.\");\r\n return [4 /*yield*/, new Promise(function (resolve) {\r\n _this.reconnectDelayHandle = setTimeout(resolve, nextRetryDelay);\r\n })];\r\n case 2:\r\n _a.sent();\r\n this.reconnectDelayHandle = undefined;\r\n if (this.connectionState !== HubConnectionState.Reconnecting) {\r\n this.logger.log(LogLevel.Debug, \"Connection left the reconnecting state during reconnect delay. Done reconnecting.\");\r\n return [2 /*return*/];\r\n }\r\n _a.label = 3;\r\n case 3:\r\n _a.trys.push([3, 5, , 6]);\r\n return [4 /*yield*/, this.startInternal()];\r\n case 4:\r\n _a.sent();\r\n this.connectionState = HubConnectionState.Connected;\r\n this.logger.log(LogLevel.Information, \"HubConnection reconnected successfully.\");\r\n if (this.onreconnected) {\r\n try {\r\n this.reconnectedCallbacks.forEach(function (c) { return c.apply(_this, [_this.connection.connectionId]); });\r\n }\r\n catch (e) {\r\n this.logger.log(LogLevel.Error, \"An onreconnected callback called with connectionId '\" + this.connection.connectionId + \"; threw error '\" + e + \"'.\");\r\n }\r\n }\r\n return [2 /*return*/];\r\n case 5:\r\n e_4 = _a.sent();\r\n this.logger.log(LogLevel.Information, \"Reconnect attempt failed because of error '\" + e_4 + \"'.\");\r\n if (this.connectionState !== HubConnectionState.Reconnecting) {\r\n this.logger.log(LogLevel.Debug, \"Connection left the reconnecting state during reconnect attempt. Done reconnecting.\");\r\n return [2 /*return*/];\r\n }\r\n retryError = e_4 instanceof Error ? e_4 : new Error(e_4.toString());\r\n nextRetryDelay = this.getNextRetryDelay(previousReconnectAttempts++, Date.now() - reconnectStartTime, retryError);\r\n return [3 /*break*/, 6];\r\n case 6: return [3 /*break*/, 1];\r\n case 7:\r\n this.logger.log(LogLevel.Information, \"Reconnect retries have been exhausted after \" + (Date.now() - reconnectStartTime) + \" ms and \" + previousReconnectAttempts + \" failed attempts. Connection disconnecting.\");\r\n this.completeClose();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n HubConnection.prototype.getNextRetryDelay = function (previousRetryCount, elapsedMilliseconds, retryReason) {\r\n try {\r\n return this.reconnectPolicy.nextRetryDelayInMilliseconds({\r\n elapsedMilliseconds: elapsedMilliseconds,\r\n previousRetryCount: previousRetryCount,\r\n retryReason: retryReason,\r\n });\r\n }\r\n catch (e) {\r\n this.logger.log(LogLevel.Error, \"IRetryPolicy.nextRetryDelayInMilliseconds(\" + previousRetryCount + \", \" + elapsedMilliseconds + \") threw error '\" + e + \"'.\");\r\n return null;\r\n }\r\n };\r\n HubConnection.prototype.cancelCallbacksWithError = function (error) {\r\n var callbacks = this.callbacks;\r\n this.callbacks = {};\r\n Object.keys(callbacks)\r\n .forEach(function (key) {\r\n var callback = callbacks[key];\r\n callback(null, error);\r\n });\r\n };\r\n HubConnection.prototype.cleanupPingTimer = function () {\r\n if (this.pingServerHandle) {\r\n clearTimeout(this.pingServerHandle);\r\n }\r\n };\r\n HubConnection.prototype.cleanupTimeout = function () {\r\n if (this.timeoutHandle) {\r\n clearTimeout(this.timeoutHandle);\r\n }\r\n };\r\n HubConnection.prototype.createInvocation = function (methodName, args, nonblocking, streamIds) {\r\n if (nonblocking) {\r\n return {\r\n arguments: args,\r\n streamIds: streamIds,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n else {\r\n var invocationId = this.invocationId;\r\n this.invocationId++;\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n streamIds: streamIds,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n };\r\n HubConnection.prototype.launchStreams = function (streams, promiseQueue) {\r\n var _this = this;\r\n if (streams.length === 0) {\r\n return;\r\n }\r\n // Synchronize stream data so they arrive in-order on the server\r\n if (!promiseQueue) {\r\n promiseQueue = Promise.resolve();\r\n }\r\n var _loop_1 = function (streamId) {\r\n streams[streamId].subscribe({\r\n complete: function () {\r\n promiseQueue = promiseQueue.then(function () { return _this.sendWithProtocol(_this.createCompletionMessage(streamId)); });\r\n },\r\n error: function (err) {\r\n var message;\r\n if (err instanceof Error) {\r\n message = err.message;\r\n }\r\n else if (err && err.toString) {\r\n message = err.toString();\r\n }\r\n else {\r\n message = \"Unknown error\";\r\n }\r\n promiseQueue = promiseQueue.then(function () { return _this.sendWithProtocol(_this.createCompletionMessage(streamId, message)); });\r\n },\r\n next: function (item) {\r\n promiseQueue = promiseQueue.then(function () { return _this.sendWithProtocol(_this.createStreamItemMessage(streamId, item)); });\r\n },\r\n });\r\n };\r\n // We want to iterate over the keys, since the keys are the stream ids\r\n // tslint:disable-next-line:forin\r\n for (var streamId in streams) {\r\n _loop_1(streamId);\r\n }\r\n };\r\n HubConnection.prototype.replaceStreamingParams = function (args) {\r\n var streams = [];\r\n var streamIds = [];\r\n for (var i = 0; i < args.length; i++) {\r\n var argument = args[i];\r\n if (this.isObservable(argument)) {\r\n var streamId = this.invocationId;\r\n this.invocationId++;\r\n // Store the stream for later use\r\n streams[streamId] = argument;\r\n streamIds.push(streamId.toString());\r\n // remove stream from args\r\n args.splice(i, 1);\r\n }\r\n }\r\n return [streams, streamIds];\r\n };\r\n HubConnection.prototype.isObservable = function (arg) {\r\n // This allows other stream implementations to just work (like rxjs)\r\n return arg && arg.subscribe && typeof arg.subscribe === \"function\";\r\n };\r\n HubConnection.prototype.createStreamInvocation = function (methodName, args, streamIds) {\r\n var invocationId = this.invocationId;\r\n this.invocationId++;\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n streamIds: streamIds,\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n };\r\n HubConnection.prototype.createCancelInvocation = function (id) {\r\n return {\r\n invocationId: id,\r\n type: MessageType.CancelInvocation,\r\n };\r\n };\r\n HubConnection.prototype.createStreamItemMessage = function (id, item) {\r\n return {\r\n invocationId: id,\r\n item: item,\r\n type: MessageType.StreamItem,\r\n };\r\n };\r\n HubConnection.prototype.createCompletionMessage = function (id, error, result) {\r\n if (error) {\r\n return {\r\n error: error,\r\n invocationId: id,\r\n type: MessageType.Completion,\r\n };\r\n }\r\n return {\r\n invocationId: id,\r\n result: result,\r\n type: MessageType.Completion,\r\n };\r\n };\r\n return HubConnection;\r\n}());\r\nexport { HubConnection };\r\n//# sourceMappingURL=HubConnection.js.map"
+ "depth": 5,
+ "source": "import { render, staticRenderFns } from \"./BlockUi.vue?vue&type=template&id=796f75cf&\"\nimport script from \"./BlockUi.vue?vue&type=script&lang=js&\"\nexport * from \"./BlockUi.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"D:\\\\Projects\\\\Moggles\\\\Moggles\\\\node_modules\\\\vue-hot-reload-api\\\\dist\\\\index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('796f75cf')) {\n api.createRecord('796f75cf', component.options)\n } else {\n api.reload('796f75cf', component.options)\n }\n module.hot.accept(\"./BlockUi.vue?vue&type=template&id=796f75cf&\", function () {\n api.rerender('796f75cf', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"ClientApp/src/common/BlockUi.vue\"\nexport default component.exports"
},
{
- "id": 20,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\TextMessageFormat.js",
- "name": "./node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js",
- "index": 32,
- "index2": 23,
- "size": 1027,
+ "id": "./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "index": 103,
+ "index2": 98,
+ "size": 364,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "issuerId": "./ClientApp/src/common/BlockUi.vue",
+ "issuerName": "./ClientApp/src/common/BlockUi.vue",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/common/BlockUi.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "name": "./ClientApp/src/common/BlockUi.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\JsonHubProtocol.js",
- "issuerId": 22,
- "issuerName": "./node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js",
"profile": {
- "factory": 46,
- "building": 3
+ "factory": 382,
+ "building": 1
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 22,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\JsonHubProtocol.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js",
- "type": "harmony import",
- "userRequest": "./TextMessageFormat",
- "loc": "7:0-56"
+ "moduleId": "./ClientApp/src/common/BlockUi.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "module": "./ClientApp/src/common/BlockUi.vue",
+ "moduleName": "./ClientApp/src/common/BlockUi.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./BlockUi.vue?vue&type=script&lang=js&",
+ "loc": "2:0-59"
+ },
+ {
+ "moduleId": "./ClientApp/src/common/BlockUi.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "module": "./ClientApp/src/common/BlockUi.vue",
+ "moduleName": "./ClientApp/src/common/BlockUi.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./BlockUi.vue?vue&type=script&lang=js&",
+ "loc": "3:0-54"
+ },
+ {
+ "moduleId": "./ClientApp/src/common/BlockUi.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "module": "./ClientApp/src/common/BlockUi.vue",
+ "moduleName": "./ClientApp/src/common/BlockUi.vue",
+ "type": "harmony export imported specifier",
+ "userRequest": "./BlockUi.vue?vue&type=script&lang=js&",
+ "loc": "3:0-54"
},
{
- "moduleId": 54,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\HandshakeProtocol.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js",
- "type": "harmony import",
- "userRequest": "./TextMessageFormat",
- "loc": "3:0-56"
+ "moduleId": "./ClientApp/src/common/BlockUi.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "module": "./ClientApp/src/common/BlockUi.vue",
+ "moduleName": "./ClientApp/src/common/BlockUi.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./BlockUi.vue?vue&type=script&lang=js&",
+ "loc": "9:2-8"
}
],
- "usedExports": [
- "TextMessageFormat"
- ],
"providedExports": [
- "TextMessageFormat"
+ "default"
],
"optimizationBailout": [],
- "depth": 8,
- "source": "// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// Not exported from index\r\n/** @private */\r\nvar TextMessageFormat = /** @class */ (function () {\r\n function TextMessageFormat() {\r\n }\r\n TextMessageFormat.write = function (output) {\r\n return \"\" + output + TextMessageFormat.RecordSeparator;\r\n };\r\n TextMessageFormat.parse = function (input) {\r\n if (input[input.length - 1] !== TextMessageFormat.RecordSeparator) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n var messages = input.split(TextMessageFormat.RecordSeparator);\r\n messages.pop();\r\n return messages;\r\n };\r\n TextMessageFormat.RecordSeparatorCode = 0x1e;\r\n TextMessageFormat.RecordSeparator = String.fromCharCode(TextMessageFormat.RecordSeparatorCode);\r\n return TextMessageFormat;\r\n}());\r\nexport { TextMessageFormat };\r\n//# sourceMappingURL=TextMessageFormat.js.map"
+ "depth": 6,
+ "source": "import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlockUi.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlockUi.vue?vue&type=script&lang=js&\""
},
{
- "id": 21,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\Subject.js",
- "name": "./node_modules/@microsoft/signalr/dist/esm/Subject.js",
- "index": 34,
- "index2": 26,
- "size": 1366,
+ "id": "./ClientApp/src/common/BlockUi.vue?vue&type=template&id=796f75cf&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue?vue&type=template&id=796f75cf&",
+ "name": "./ClientApp/src/common/BlockUi.vue?vue&type=template&id=796f75cf&",
+ "index": 101,
+ "index2": 96,
+ "size": 211,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "issuerId": "./ClientApp/src/common/BlockUi.vue",
+ "issuerName": "./ClientApp/src/common/BlockUi.vue",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/common/BlockUi.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "name": "./ClientApp/src/common/BlockUi.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\index.js",
- "issuerId": 48,
- "issuerName": "./node_modules/@microsoft/signalr/dist/esm/index.js",
"profile": {
- "factory": 440,
- "building": 19,
- "dependencies": 44
+ "factory": 382,
+ "building": 1
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 19,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\HubConnection.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/HubConnection.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/HubConnection.js",
- "type": "harmony import",
- "userRequest": "./Subject",
- "loc": "41:0-36"
+ "moduleId": "./ClientApp/src/common/BlockUi.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "module": "./ClientApp/src/common/BlockUi.vue",
+ "moduleName": "./ClientApp/src/common/BlockUi.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./BlockUi.vue?vue&type=template&id=796f75cf&",
+ "loc": "1:0-86"
+ },
+ {
+ "moduleId": "./ClientApp/src/common/BlockUi.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "module": "./ClientApp/src/common/BlockUi.vue",
+ "moduleName": "./ClientApp/src/common/BlockUi.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./BlockUi.vue?vue&type=template&id=796f75cf&",
+ "loc": "10:2-8"
},
{
- "moduleId": 48,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\index.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "type": "harmony import",
- "userRequest": "./Subject",
- "loc": "16:0-36"
+ "moduleId": "./ClientApp/src/common/BlockUi.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue",
+ "module": "./ClientApp/src/common/BlockUi.vue",
+ "moduleName": "./ClientApp/src/common/BlockUi.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./BlockUi.vue?vue&type=template&id=796f75cf&",
+ "loc": "11:2-17"
}
],
- "usedExports": [
- "Subject"
- ],
"providedExports": [
- "Subject"
+ "render",
+ "staticRenderFns"
],
"optimizationBailout": [],
- "depth": 7,
- "source": "// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nimport { SubjectSubscription } from \"./Utils\";\r\n/** Stream implementation to stream items to the server. */\r\nvar Subject = /** @class */ (function () {\r\n function Subject() {\r\n this.observers = [];\r\n }\r\n Subject.prototype.next = function (item) {\r\n for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {\r\n var observer = _a[_i];\r\n observer.next(item);\r\n }\r\n };\r\n Subject.prototype.error = function (err) {\r\n for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {\r\n var observer = _a[_i];\r\n if (observer.error) {\r\n observer.error(err);\r\n }\r\n }\r\n };\r\n Subject.prototype.complete = function () {\r\n for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {\r\n var observer = _a[_i];\r\n if (observer.complete) {\r\n observer.complete();\r\n }\r\n }\r\n };\r\n Subject.prototype.subscribe = function (observer) {\r\n this.observers.push(observer);\r\n return new SubjectSubscription(this, observer);\r\n };\r\n return Subject;\r\n}());\r\nexport { Subject };\r\n//# sourceMappingURL=Subject.js.map"
+ "depth": 6,
+ "source": "export * from \"-!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlockUi.vue?vue&type=template&id=796f75cf&\""
},
{
- "id": 22,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\JsonHubProtocol.js",
- "name": "./node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js",
- "index": 43,
- "index2": 35,
- "size": 4961,
+ "id": "./ClientApp/src/common/event-bus.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\event-bus.js",
+ "name": "./ClientApp/src/common/event-bus.js",
+ "index": 20,
+ "index2": 12,
+ "size": 50,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "issuerId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "issuerName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\index.js",
- "issuerId": 48,
- "issuerName": "./node_modules/@microsoft/signalr/dist/esm/index.js",
"profile": {
- "factory": 440,
- "building": 18,
- "dependencies": 0
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 48,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\index.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/index.js",
- "type": "harmony import",
- "userRequest": "./JsonHubProtocol",
- "loc": "15:0-52"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./common/event-bus",
+ "loc": "104:0-41"
},
{
- "moduleId": 55,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\@microsoft\\signalr\\dist\\esm\\HubConnectionBuilder.js",
- "module": "./node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js",
- "moduleName": "./node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js",
- "type": "harmony import",
- "userRequest": "./JsonHubProtocol",
- "loc": "15:0-52"
- }
- ],
- "usedExports": [
- "JsonHubProtocol"
- ],
- "providedExports": [
- "JsonHubProtocol"
- ],
- "optimizationBailout": [],
- "depth": 7,
- "source": "// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nvar JSON_HUB_PROTOCOL_NAME = \"json\";\r\n/** Implements the JSON Hub Protocol. */\r\nvar JsonHubProtocol = /** @class */ (function () {\r\n function JsonHubProtocol() {\r\n /** @inheritDoc */\r\n this.name = JSON_HUB_PROTOCOL_NAME;\r\n /** @inheritDoc */\r\n this.version = 1;\r\n /** @inheritDoc */\r\n this.transferFormat = TransferFormat.Text;\r\n }\r\n /** Creates an array of {@link @microsoft/signalr.HubMessage} objects from the specified serialized representation.\r\n *\r\n * @param {string} input A string containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n JsonHubProtocol.prototype.parseMessages = function (input, logger) {\r\n // The interface does allow \"ArrayBuffer\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (typeof input !== \"string\") {\r\n throw new Error(\"Invalid input for JSON hub protocol. Expected a string.\");\r\n }\r\n if (!input) {\r\n return [];\r\n }\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n // Parse the messages\r\n var messages = TextMessageFormat.parse(input);\r\n var hubMessages = [];\r\n for (var _i = 0, messages_1 = messages; _i < messages_1.length; _i++) {\r\n var message = messages_1[_i];\r\n var parsedMessage = JSON.parse(message);\r\n if (typeof parsedMessage.type !== \"number\") {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n switch (parsedMessage.type) {\r\n case MessageType.Invocation:\r\n this.isInvocationMessage(parsedMessage);\r\n break;\r\n case MessageType.StreamItem:\r\n this.isStreamItemMessage(parsedMessage);\r\n break;\r\n case MessageType.Completion:\r\n this.isCompletionMessage(parsedMessage);\r\n break;\r\n case MessageType.Ping:\r\n // Single value, no need to validate\r\n break;\r\n case MessageType.Close:\r\n // All optional values, no need to validate\r\n break;\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + parsedMessage.type + \"' ignored.\");\r\n continue;\r\n }\r\n hubMessages.push(parsedMessage);\r\n }\r\n return hubMessages;\r\n };\r\n /** Writes the specified {@link @microsoft/signalr.HubMessage} to a string and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {string} A string containing the serialized representation of the message.\r\n */\r\n JsonHubProtocol.prototype.writeMessage = function (message) {\r\n return TextMessageFormat.write(JSON.stringify(message));\r\n };\r\n JsonHubProtocol.prototype.isInvocationMessage = function (message) {\r\n this.assertNotEmptyString(message.target, \"Invalid payload for Invocation message.\");\r\n if (message.invocationId !== undefined) {\r\n this.assertNotEmptyString(message.invocationId, \"Invalid payload for Invocation message.\");\r\n }\r\n };\r\n JsonHubProtocol.prototype.isStreamItemMessage = function (message) {\r\n this.assertNotEmptyString(message.invocationId, \"Invalid payload for StreamItem message.\");\r\n if (message.item === undefined) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n };\r\n JsonHubProtocol.prototype.isCompletionMessage = function (message) {\r\n if (message.result && message.error) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n if (!message.result && message.error) {\r\n this.assertNotEmptyString(message.error, \"Invalid payload for Completion message.\");\r\n }\r\n this.assertNotEmptyString(message.invocationId, \"Invalid payload for Completion message.\");\r\n };\r\n JsonHubProtocol.prototype.assertNotEmptyString = function (value, errorMessage) {\r\n if (typeof value !== \"string\" || value === \"\") {\r\n throw new Error(errorMessage);\r\n }\r\n };\r\n return JsonHubProtocol;\r\n}());\r\nexport { JsonHubProtocol };\r\n//# sourceMappingURL=JsonHubProtocol.js.map"
- },
- {
- "id": 23,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\ToggleScheduler.vue",
- "name": "./ClientApp/ToggleScheduler.vue",
- "index": 46,
- "index2": 47,
- "size": 1621,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\App.vue",
- "issuerId": 15,
- "issuerName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/App.vue",
- "profile": {
- "factory": 215,
- "building": 507,
- "dependencies": 0
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "137:8-11"
+ },
{
- "moduleId": 15,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\App.vue",
- "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/App.vue",
- "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/App.vue",
- "type": "harmony import",
- "userRequest": "./ToggleScheduler",
- "loc": "98:0-48"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "143:8-11"
},
{
- "moduleId": 16,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\TogglesList.vue",
- "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/TogglesList.vue",
- "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/TogglesList.vue",
- "type": "harmony import",
- "userRequest": "./ToggleScheduler",
- "loc": "82:0-48"
- }
- ],
- "usedExports": [
- "default"
- ],
- "providedExports": [
- "default"
- ],
- "optimizationBailout": [],
- "depth": 4,
- "source": "var disposed = false\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./ToggleScheduler.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./ToggleScheduler.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-70bf8be3\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./ToggleScheduler.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"ClientApp\\\\ToggleScheduler.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-70bf8be3\", Component.options)\n } else {\n hotAPI.reload(\"data-v-70bf8be3\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nexport default Component.exports\n"
- },
- {
- "id": 24,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\ToggleScheduler.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/ToggleScheduler.vue",
- "index": 47,
- "index2": 45,
- "size": 10159,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\ToggleScheduler.vue",
- "issuerId": 23,
- "issuerName": "./ClientApp/ToggleScheduler.vue",
- "profile": {
- "factory": 279,
- "building": 49,
- "dependencies": 656
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "147:8-11"
+ },
{
- "moduleId": 23,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\ToggleScheduler.vue",
- "module": "./ClientApp/ToggleScheduler.vue",
- "moduleName": "./ClientApp/ToggleScheduler.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./ToggleScheduler.vue",
- "loc": "3:0-112"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "151:8-11"
},
{
- "moduleId": 23,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\ToggleScheduler.vue",
- "module": "./ClientApp/ToggleScheduler.vue",
- "moduleName": "./ClientApp/ToggleScheduler.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./ToggleScheduler.vue",
- "loc": "4:0-125"
- }
- ],
- "usedExports": [
- "default"
- ],
- "providedExports": [
- "default"
- ],
- "optimizationBailout": [],
- "depth": 5,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { Bus } from './event-bus';\nimport axios from 'axios';\nimport moment from 'moment';\nimport _ from 'lodash';\nimport PrettyCheck from 'pretty-checkbox-vue/check';\nimport DeleteToggleScheduler from './DeleteToggleScheduler';\n\nexport default {\n components: {\n 'p-check': PrettyCheck,\n 'deleteToggleScheduler': DeleteToggleScheduler\n },\n props: {\n isCacheRefreshEnabled: {\n type: Boolean,\n required: true\n }\n },\n data: function data() {\n return {\n environmentName: \"\",\n scheduledState: true,\n errors: [],\n selectedAppId: \"\",\n allToggles: [],\n selectedToggles: [],\n allEnvironments: [],\n selectedEnvironments: [],\n scheduledDate: null,\n scheduledTime: new Date(),\n toggle: null,\n showDeleteConfirmation: false,\n forceCacheRefresh: false\n };\n },\n created: function created() {\n var _this = this;\n\n Bus.$on(\"app-changed\", function (app) {\n if (app) {\n _this.toggle = null;\n _this.selectedAppId = app.id;\n _this.loadToggles(_this.selectedAppId);\n _this.loadEnvironments(_this.selectedAppId);\n }\n });\n Bus.$on(\"env-added\", function () {\n _this.loadEnvironments(_this.selectedAppId);\n });\n\n Bus.$on(\"toggle-added\", function () {\n _this.loadToggles(_this.selectedAppId);\n });\n\n Bus.$on(\"edit-schedule\", function (toggleId) {\n _this.selectedEnvironments = [];\n _this.loadToggles(_this.selectedAppId);\n _this.loadToggleForEdit(toggleId);\n _this.loadEnvironments(_this.selectedAppId);\n });\n\n Bus.$on('add-scheduler', function () {\n _this.cleanup();\n _this.loadToggles(_this.selectedAppId);\n _this.loadEnvironments(_this.selectedAppId);\n _this.toggle = null;\n });\n\n Bus.$on('close-deleteScheduler', function () {\n _this.showDeleteConfirmation = false;\n _this.loadToggles(_this.selectedAppId);\n _this.loadEnvironments(_this.selectedAppId);\n });\n },\n\n methods: {\n showConfirmDeleteModal: function showConfirmDeleteModal() {\n this.showDeleteConfirmation = true;\n Bus.$emit('delete-scheduler', this.toggle);\n },\n existsTogggleSchedule: function existsTogggleSchedule(toggle) {\n return toggle === null ? true : false;\n },\n addSchedule: function addSchedule() {\n var _this2 = this;\n\n this.errors = [];\n Bus.$emit('block-ui');\n\n if (this.selectedToggles.length == 0) {\n this.errors.push('You must select at least one feature toggle');\n }\n\n if (this.selectedEnvironments.length == 0) {\n this.errors.push('You must select at least one environment');\n }\n if (this.scheduledDate === null) {\n this.errors.push('You must select a change state date and time');\n }\n\n var currentDate = new Date(moment().format(\"YYYY-MM-DD hh:mm:ss A\"));\n var scheduledDateFormat = moment(this.scheduledDate).format(\"YYYY-MM-DD\");\n var scheduledTimeFormat = moment(this.scheduledTime).format(\"hh:mm:ss A\");\n var dateTime = scheduledDateFormat + \" \" + scheduledTimeFormat;\n var scheduledDateTime = new Date(dateTime);\n if (scheduledDateTime < currentDate) {\n this.errors.push(\"Please select a change state date and time in the future!\");\n }\n if (this.errors.length > 0) {\n Bus.$emit('unblock-ui');\n return;\n }\n\n var combinedScheduledDateTime = moment(this.scheduledDate);\n var time = moment(this.scheduledTime);\n combinedScheduledDateTime.add(time.hours(), 'hours');\n combinedScheduledDateTime.add(time.minutes(), 'minutes');\n if (this.existsTogggleSchedule(this.toggle)) {\n axios.post('api/ToggleScheduler', {\n applicationId: this.selectedAppId,\n state: this.scheduledState,\n featureToggles: this.selectedToggles,\n environments: this.selectedEnvironments,\n scheduleDate: combinedScheduledDateTime,\n forceCacheRefresh: this.forceCacheRefresh\n }).then(function () {\n _this2.$notify({\n type: \"success\",\n content: \"Success scheduling feature toggle!\",\n offsetY: 70,\n icon: 'fas fa-check-circle'\n\n });\n _this2.cleanup();\n _this2.closeModal();\n Bus.$emit('toggle-scheduled');\n }).catch(function (e) {\n Bus.$emit('unblock-ui');\n _this2.$notify({\n type: \"error\",\n content: \"Error scheduling feature: \" + e,\n offsetY: 70,\n icon: 'fas fa-check-circle'\n });\n }).finally(function () {\n Bus.$emit('unblock-ui');\n });\n } else {\n axios.put('api/ToggleScheduler', {\n toggleName: this.toggle.toggleName,\n id: this.toggle.id,\n scheduledState: this.scheduledState,\n scheduledDate: combinedScheduledDateTime,\n environments: this.selectedEnvironments,\n forceCacheRefresh: this.forceCacheRefresh\n }).then(function () {\n _this2.$notify({\n type: \"success\",\n content: \"Success updating a scheduled feature toggle!\",\n offsetY: 70,\n icon: 'fas fa-check-circle'\n });\n _this2.cleanup();\n _this2.closeModal();\n Bus.$emit('toggle-scheduled');\n }).catch(function (e) {\n Bus.$emit('unblock-ui');\n _this2.$notify({\n type: \"error\",\n content: \"Error updating scheduled feature toggle: \" + e,\n offsetY: 70,\n icon: 'fas fa-check-circle'\n });\n }).finally(function () {\n Bus.$emit('unblock-ui');\n });\n }\n },\n loadToggles: function loadToggles(appId) {\n var _this3 = this;\n\n axios.get(\"/api/FeatureToggles\", {\n params: {\n applicationId: appId\n }\n }).then(function (response) {\n var dropDownModels = _.map(response.data.filter(function (ft) {\n return ft.userAccepted == false;\n }), function (toggle) {\n return {\n value: toggle.toggleName,\n label: toggle.toggleName\n };\n });\n\n _this3.allToggles = dropDownModels;\n }).catch(function (error) {\n window.alert(error);\n });\n },\n loadEnvironments: function loadEnvironments(appId) {\n var _this4 = this;\n\n axios.get(\"/api/FeatureToggles/environments\", {\n params: {\n applicationId: appId\n }\n }).then(function (response) {\n var dropDownModels = _.map(response.data, function (env) {\n return {\n value: env.envName,\n label: env.envName\n };\n });\n _this4.allEnvironments = dropDownModels;\n }).catch(function (e) {\n window.alert(e);\n });\n },\n loadToggleForEdit: function loadToggleForEdit(toggleId) {\n var _this5 = this;\n\n this.cleanup();\n axios.get('/api/ToggleScheduler/getToggleScheduler', {\n params: {\n toggleId: toggleId\n }\n }).then(function (response) {\n _this5.toggle = response.data;\n _this5.toggleName = _this5.toggle.toggleName;\n _this5.selectedToggles.push(_this5.toggle.toggleName);\n _this5.toggle.environments.forEach(function (env) {\n return _this5.selectedEnvironments.push(env);\n });\n _this5.scheduledDate = moment(_this5.toggle.scheduledDate).format(\"YYYY-MM-DD\");\n _this5.scheduledTime = new Date(_this5.toggle.scheduledDate);\n _this5.scheduledState = _this5.toggle.scheduledState;\n _this5.forceCacheRefresh = _this5.toggle.forceCacheRefresh;\n }).catch(function (e) {\n window.alert(e);\n });\n },\n cleanup: function cleanup() {\n this.selectedToggles = [];\n this.selectedEnvironments = [];\n this.errors = [];\n this.scheduledState = true;\n this.scheduledDate = null;\n this.scheduledTime = new Date();\n this.toggle = null;\n this.toggleName = null;\n this.forceCacheRefresh = false;\n },\n closeModal: function closeModal() {\n this.cleanup();\n Bus.$emit('close-scheduler');\n }\n }\n};"
- },
- {
- "id": 25,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteToggleScheduler.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/DeleteToggleScheduler.vue",
- "index": 50,
- "index2": 41,
- "size": 865,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteToggleScheduler.vue",
- "issuerId": 63,
- "issuerName": "./ClientApp/DeleteToggleScheduler.vue",
- "profile": {
- "factory": 93,
- "building": 5,
- "dependencies": 7
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "155:8-11"
+ },
{
- "moduleId": 63,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteToggleScheduler.vue",
- "module": "./ClientApp/DeleteToggleScheduler.vue",
- "moduleName": "./ClientApp/DeleteToggleScheduler.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./DeleteToggleScheduler.vue",
- "loc": "3:0-118"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "159:8-11"
},
{
- "moduleId": 63,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteToggleScheduler.vue",
- "module": "./ClientApp/DeleteToggleScheduler.vue",
- "moduleName": "./ClientApp/DeleteToggleScheduler.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./DeleteToggleScheduler.vue",
- "loc": "4:0-131"
- }
- ],
- "usedExports": [
- "default"
- ],
- "providedExports": [
- "default"
- ],
- "optimizationBailout": [],
- "depth": 7,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { Bus } from './event-bus';\nimport axios from 'axios';\n\nexport default {\n data: function data() {\n return {\n toggle: null\n };\n },\n created: function created() {\n var _this = this;\n\n Bus.$on('delete-scheduler', function (toggle) {\n _this.toggle = toggle;\n });\n },\n\n methods: {\n deleteScheduler: function deleteScheduler() {\n axios.delete('/api/ToggleScheduler?id=' + this.toggle.id).then(function () {\n Bus.$emit('close-deleteScheduler');\n Bus.$emit('close-scheduler');\n }).catch(function (error) {\n return window.alert(error);\n });\n },\n closeDialog: function closeDialog() {\n Bus.$emit('close-deleteScheduler');\n }\n }\n};"
- },
- {
- "id": 26,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditFeatureToggle.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/EditFeatureToggle.vue",
- "index": 55,
- "index2": 48,
- "size": 6907,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditFeatureToggle.vue",
- "issuerId": 66,
- "issuerName": "./ClientApp/EditFeatureToggle.vue",
- "profile": {
- "factory": 80,
- "building": 22,
- "dependencies": 92
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "163:8-11"
+ },
{
- "moduleId": 66,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditFeatureToggle.vue",
- "module": "./ClientApp/EditFeatureToggle.vue",
- "moduleName": "./ClientApp/EditFeatureToggle.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./EditFeatureToggle.vue",
- "loc": "3:0-114"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "177:12-15"
},
{
- "moduleId": 66,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditFeatureToggle.vue",
- "module": "./ClientApp/EditFeatureToggle.vue",
- "moduleName": "./ClientApp/EditFeatureToggle.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./EditFeatureToggle.vue",
- "loc": "4:0-127"
- }
- ],
- "usedExports": [
- "default"
- ],
- "providedExports": [
- "default"
- ],
- "optimizationBailout": [],
- "depth": 7,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport PrettyCheck from 'pretty-checkbox-vue/check';\nimport axios from 'axios';\nimport { Bus } from './event-bus';\nimport _ from 'lodash';\n\nexport default {\n components: {\n 'p-check': PrettyCheck\n },\n props: {\n isCacheRefreshEnabled: {\n type: Boolean,\n required: true\n },\n application: {\n type: Object,\n required: true\n }\n },\n data: function data() {\n return {\n editFeatureToggleErrors: [],\n rowToEdit: null,\n initialToggle: null,\n showEditModal: false,\n requireReasonWhenToggleEnabled: false,\n requireReasonWhenToggleDisabled: false,\n reasonToChange: \"\",\n environments: [],\n refreshAlertVisible: false,\n environmentsToRefresh: []\n };\n },\n created: function created() {\n var _this = this;\n\n Bus.$on(\"open-editFeatureToggle\", function (toggle) {\n //create initliase method\n _this.editFeatureToggleErrors = [];\n _this.environments = environments;\n _this.rowToEdit = toggle;\n _this.initialToggle = _.cloneDeep(toggle);\n _this.getEnvironments();\n });\n },\n\n methods: {\n getEnvironments: function getEnvironments() {\n var _this2 = this;\n\n axios.get(\"/api/FeatureToggles/environments\", {\n params: {\n applicationId: this.application.id\n }\n }).then(function (response) {\n _this2.environments = response.data;\n }).catch(function (error) {\n window.alert(\"Error getting list of environments.\");\n });\n },\n saveToggle: function saveToggle() {\n var _this3 = this;\n\n if (this.stringIsNullOrEmpty(this.rowToEdit.toggleName)) {\n this.editFeatureToggleErrors.push(\"Feature toggle name cannot be empty\");\n return;\n }\n\n var workItemIdentifier = this.rowToEdit.workItemIdentifier != null ? this.rowToEdit.workItemIdentifier.trim() : this.rowToEdit.workItemIdentifier;\n if (!this.workItemIdentifierIsValid(workItemIdentifier)) {\n this.editFeatureToggleErrors.push(\"Work Item ID cannot have more than 50 characters\");\n return;\n }\n\n if (!this.reasonToChangeIsValid(this.reasonToChange)) {\n this.editFeatureToggleErrors.push(\"Change reason description cannot have more than 500 characters\");\n return;\n }\n\n var toggleUpdateModel = {\n id: this.rowToEdit.id,\n applicationid: this.application.id,\n userAccepted: this.rowToEdit.userAccepted,\n notes: this.rowToEdit.notes,\n workItemIdentifier: workItemIdentifier,\n featureToggleName: this.rowToEdit.toggleName,\n isPermanent: this.rowToEdit.isPermanent,\n statuses: [],\n reasonsToChange: []\n };\n\n if (!this.stringIsNullOrEmpty(this.reasonToChange)) {\n toggleUpdateModel.reasonsToChange.push({ description: this.reasonToChange });\n }\n\n var requiredErrorMessages = [];\n _.forEach(this.environments, function (environment) {\n toggleUpdateModel.statuses.push({\n environment: environment.envName,\n enabled: _this3.rowToEdit[environment.envName]\n });\n\n if (_this3.environmentStatusHasChanged(environment) && (!_this3.reasonToChangeWhenToggleDisabledIsValid(environment, change) || !_this3.reasonToChangeWhenToggleEnabledIsValid(environment, change))) {\n requiredErrorMessages.push(change.envName);\n }\n });\n\n if (requiredErrorMessages.length > 0) {\n _.forEach(requiredErrorMessages, function (status) {\n _this3.editFeatureToggleErrors.push(\"Change reason is mandatory when state is modified for environment \" + status);\n });\n return;\n }\n\n axios.put('/api/featuretoggles', toggleUpdateModel).then(function () {\n _this3.closeModal();\n }).catch(function (error) {\n return window.alert(error);\n });\n },\n environmentStatusHasChanged: function environmentStatusHasChanged(environment) {\n return this.initialToggle[environment.envName] != this.rowToEdit[environment.envName];\n },\n stringIsNullOrEmpty: function stringIsNullOrEmpty(text) {\n return !text || /^\\s*$/.test(text);\n },\n reasonToChangeWhenToggleDisabledIsValid: function reasonToChangeWhenToggleDisabledIsValid(environment) {\n return environment.requireReasonWhenToggleDisabled == true && this.initialToggle[environment.envName] == true && this.rowToEdit[environment.envName] == false && !this.stringIsNullOrEmpty(this.reasonToChange);\n },\n reasonToChangeWhenToggleEnabledIsValid: function reasonToChangeWhenToggleEnabledIsValid(environment) {\n return environment.requireReasonWhenToggleEnabled == true && this.initialToggle[environment.envName] == false && this.rowToEdit[environment.envName] == true && !this.stringIsNullOrEmpty(this.reasonToChange);\n },\n workItemIdentifierIsValid: function workItemIdentifierIsValid(workItemIdentifier) {\n return workItemIdentifier == null || workItemIdentifier != null && workItemIdentifier.length <= 50;\n },\n reasonToChangeIsValid: function reasonToChangeIsValid(reasonToChange) {\n return reasonToChange == null || reasonToChange != null && reasonToChange.length <= 500;\n },\n addEnvironmentToRefreshList: function addEnvironmentToRefreshList(env) {\n var index = _.indexOf(this.environmentsToRefresh, env);\n if (index === -1) {\n this.environmentsToRefresh.push(env);\n }\n },\n closeModal: function closeModal() {\n this.showEditModal = false;\n this.rowToEdit = null;\n this.initialToggle = null;\n this.editFeatureToggleErrors = [];\n this.reasonToChange = \"\";\n this.environmentsToRefresh = [];\n var isRefreshAlertVisble = this.environmentsToRefresh.length > 0;\n Bus.$emit('close-editFeatureFlag', this.environmentsToRefresh, isRefreshAlertVisble);\n }\n }\n};"
- },
- {
- "id": 27,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditEnvironment.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/EditEnvironment.vue",
- "index": 58,
- "index2": 54,
- "size": 4157,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditEnvironment.vue",
- "issuerId": 68,
- "issuerName": "./ClientApp/EditEnvironment.vue",
- "profile": {
- "factory": 71,
- "building": 13,
- "dependencies": 165
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "181:12-15"
+ },
{
- "moduleId": 68,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditEnvironment.vue",
- "module": "./ClientApp/EditEnvironment.vue",
- "moduleName": "./ClientApp/EditEnvironment.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./EditEnvironment.vue",
- "loc": "3:0-112"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "185:12-15"
},
{
- "moduleId": 68,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditEnvironment.vue",
- "module": "./ClientApp/EditEnvironment.vue",
- "moduleName": "./ClientApp/EditEnvironment.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./EditEnvironment.vue",
- "loc": "4:0-125"
- }
- ],
- "usedExports": [
- "default"
- ],
- "providedExports": [
- "default"
- ],
- "optimizationBailout": [],
- "depth": 7,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport axios from 'axios';\nimport PrettyCheck from 'pretty-checkbox-vue/check';\nimport { Bus } from './event-bus';\nimport DeleteEnvironment from './DeleteEnvironment';\nimport _ from 'lodash';\n\nexport default {\n components: {\n 'p-check': PrettyCheck,\n 'deleteEnvironment': DeleteEnvironment\n },\n props: {\n application: {\n type: Object,\n required: true\n }\n },\n data: function data() {\n return {\n environmentToEdit: null,\n showEditEnvironmentModal: false,\n editEnvErrors: [],\n editedEnvironmentName: \"\",\n environmentsEdited: [],\n environmentsToRefresh: [],\n requireReasonWhenToggleEnabled: false,\n requireReasonWhenToggleDisabled: false,\n defaultToggleValue: true,\n showDeleteEnvironmentConfirmation: false\n };\n },\n created: function created() {\n var _this = this;\n\n Bus.$on('edit-environment', function (environment) {\n _this.environmentToEdit = environment;\n _this.loadData();\n });\n Bus.$on('delete-EnvironmentRefresh', function (envName) {\n var index = _.indexOf(_this.environmentsToRefresh, envName);\n if (index != -1) {\n _this.environmentsToRefresh.splice(index, 1);\n }\n });\n Bus.$on('close-deleteEnvironment', function () {\n _this.showDeleteEnvironmentConfirmation = false;\n });\n },\n\n\n methods: {\n loadData: function loadData() {\n this.editedEnvironmentName = this.environmentToEdit.envName;\n this.defaultToggleValue = this.environmentToEdit.defaultToggleValue;\n this.requireReasonWhenToggleDisabled = this.environmentToEdit.requireReasonWhenToggleDisabled;\n this.requireReasonWhenToggleEnabled = this.environmentToEdit.requireReasonWhenToggleEnabled;\n },\n saveEnvironment: function saveEnvironment() {\n var _this2 = this;\n\n this.editEnvErrors = [];\n if (this.stringIsNullOrEmpty(this.editedEnvironmentName)) {\n this.editEnvErrors.push(\"Environment name cannot be empty\");\n return;\n }\n\n var envUpdateModel = {\n applicationId: this.application.id,\n initialEnvName: this.environmentToEdit.envName,\n newEnvName: this.editedEnvironmentName,\n defaultToggleValue: this.defaultToggleValue,\n requireReasonForChangeWhenToggleEnabled: this.requireReasonWhenToggleEnabled,\n requireReasonForChangeWhenToggleDisabled: this.requireReasonWhenToggleDisabled\n };\n\n axios.put('/api/FeatureToggles/updateEnvironment', envUpdateModel).then(function () {\n _this2.showEditEnvironmentModal = false;\n _this2.environmentToEdit = null;\n var index = _.indexOf(_this2.environmentsToRefresh, envUpdateModel.initialEnvName);\n if (index != -1) {\n _this2.environmentsToRefresh.splice(index, 1);\n }\n Bus.$emit('close-editEnvironment');\n }).catch(function (error) {\n return window.alert(error);\n });\n },\n confirmDeleteEnvironment: function confirmDeleteEnvironment() {\n this.showDeleteEnvironmentConfirmation = true;\n Bus.$emit('delete-Environment', this.environmentToEdit.envName, this.application);\n },\n stringIsNullOrEmpty: function stringIsNullOrEmpty(text) {\n return !text || /^\\s*$/.test(text);\n },\n cancelEditEnvName: function cancelEditEnvName() {\n this.showEditEnvironmentModal = false;\n this.environmentToEdit = null;\n this.editFeatureToggleErrors = [];\n Bus.$emit('close-editEnvironment');\n }\n }\n};"
- },
- {
- "id": 28,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteEnvironment.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/DeleteEnvironment.vue",
- "index": 60,
- "index2": 51,
- "size": 1854,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteEnvironment.vue",
- "issuerId": 69,
- "issuerName": "./ClientApp/DeleteEnvironment.vue",
- "profile": {
- "factory": 1,
- "building": 9,
- "dependencies": 8
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "188:12-15"
+ },
{
- "moduleId": 69,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteEnvironment.vue",
- "module": "./ClientApp/DeleteEnvironment.vue",
- "moduleName": "./ClientApp/DeleteEnvironment.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./DeleteEnvironment.vue",
- "loc": "3:0-114"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "198:12-15"
},
{
- "moduleId": 69,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteEnvironment.vue",
- "module": "./ClientApp/DeleteEnvironment.vue",
- "moduleName": "./ClientApp/DeleteEnvironment.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./DeleteEnvironment.vue",
- "loc": "4:0-127"
- }
- ],
- "usedExports": [
- "default"
- ],
- "providedExports": [
- "default"
- ],
- "optimizationBailout": [],
- "depth": 9,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport axios from 'axios';\nimport { Bus } from './event-bus';\nimport _ from 'lodash';\n\nexport default {\n data: function data() {\n return {\n selectedApp: null,\n envName: \"\"\n };\n },\n created: function created() {\n var _this = this;\n\n Bus.$on('delete-Environment', function (environmentName, selectedApp) {\n _this.selectedApp = selectedApp;\n _this.envName = environmentName;\n });\n },\n\n methods: {\n deleteEnvironment: function deleteEnvironment() {\n var _this2 = this;\n\n var environmentModel = {\n applicationId: this.selectedApp.id,\n envName: this.envName\n };\n\n axios.delete('/api/FeatureToggles/environments', { data: environmentModel }).then(function () {\n _this2.showDeleteEnvironmentConfirmation = false;\n _this2.showEditEnvironmentModal = false;\n _this2.envName = null;\n Bus.$emit('delete-EnvironmentRefresh', environmentModel.envName);\n Bus.$emit(\"app-changed\", _this2.selectedApp);\n Bus.$emit('close-deleteEnvironment');\n Bus.$emit('close-editEnvironment');\n }).catch(function (error) {\n return window.alert(error);\n });\n },\n closeModal: function closeModal() {\n Bus.$emit('close-deleteEnvironment');\n },\n addEnvironemntToRefreshList: function addEnvironemntToRefreshList(env) {\n var index = _.indexOf(this.environmentsToRefresh, env);\n if (index === -1 && this.isEnviroment(env)) {\n this.environmentsToRefresh.push(env);\n this.refreshAlertVisible = true;\n }\n }\n }\n};"
- },
- {
- "id": 29,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteFeatureToggle.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/DeleteFeatureToggle.vue",
- "index": 64,
- "index2": 57,
- "size": 1437,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteFeatureToggle.vue",
- "issuerId": 72,
- "issuerName": "./ClientApp/DeleteFeatureToggle.vue",
- "profile": {
- "factory": 106,
- "building": 9,
- "dependencies": 8
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./common/event-bus",
+ "loc": "79:0-41"
+ },
{
- "moduleId": 72,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteFeatureToggle.vue",
- "module": "./ClientApp/DeleteFeatureToggle.vue",
- "moduleName": "./ClientApp/DeleteFeatureToggle.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./DeleteFeatureToggle.vue",
- "loc": "3:0-116"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "134:19-22"
},
{
- "moduleId": 72,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteFeatureToggle.vue",
- "module": "./ClientApp/DeleteFeatureToggle.vue",
- "moduleName": "./ClientApp/DeleteFeatureToggle.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./DeleteFeatureToggle.vue",
- "loc": "4:0-129"
- }
- ],
- "usedExports": [
- "default"
- ],
- "providedExports": [
- "default"
- ],
- "optimizationBailout": [],
- "depth": 7,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport axios from 'axios';\nimport { Bus } from './event-bus';\nexport default {\n props: {\n application: {\n type: Object,\n required: true\n }\n },\n data: function data() {\n return {\n toggleToDelete: null\n };\n },\n\n computed: {\n isToggleDeployedOnAnyEnvironment: function isToggleDeployedOnAnyEnvironment() {\n for (var propertyName in this.toggleToDelete) {\n if (propertyName.endsWith(\"_IsDeployed\") && this.toggleToDelete[propertyName] === true) return true;\n }\n return false;\n }\n },\n created: function created() {\n var _this = this;\n\n Bus.$on('delete-featureToggle', function (toggleToDelete) {\n _this.toggleToDelete = toggleToDelete;\n });\n },\n\n methods: {\n deleteToggle: function deleteToggle() {\n var _this2 = this;\n\n axios.delete('/api/FeatureToggles?id=' + this.toggleToDelete.id + '&applicationid=' + this.application.id).then(function () {\n _this2.toggleToDelete = null;\n Bus.$emit('close-deleteToggle');\n }).catch(function (error) {\n return window.alert(error);\n });\n },\n cancelDeleteToggle: function cancelDeleteToggle() {\n Bus.$emit('close-deleteToggle');\n }\n }\n};"
- },
- {
- "id": 30,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AppSelection.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/AppSelection.vue",
- "index": 68,
- "index2": 63,
- "size": 2163,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AppSelection.vue",
- "issuerId": 75,
- "issuerName": "./ClientApp/AppSelection.vue",
- "profile": {
- "factory": 172,
- "building": 46,
- "dependencies": 798
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "146:12-15"
+ },
{
- "moduleId": 75,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AppSelection.vue",
- "module": "./ClientApp/AppSelection.vue",
- "moduleName": "./ClientApp/AppSelection.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./AppSelection.vue",
- "loc": "3:0-109"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "153:12-15"
},
{
- "moduleId": 75,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AppSelection.vue",
- "module": "./ClientApp/AppSelection.vue",
- "moduleName": "./ClientApp/AppSelection.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./AppSelection.vue",
- "loc": "4:0-122"
- }
- ],
- "usedExports": [
- "default"
- ],
- "providedExports": [
- "default"
- ],
- "optimizationBailout": [],
- "depth": 5,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n\nimport { Bus } from './event-bus';\nimport axios from 'axios';\nimport _ from 'lodash';\n\nexport default {\n\tdata: function data() {\n\t\treturn {\n\t\t\tapplicationList: [],\n\t\t\tselectedApps: []\n\t\t};\n\t},\n\n\tcomputed: {\n\t\tappIsSelected: function appIsSelected() {\n\t\t\treturn this.selectedApps.length > 0;\n\t\t}\n\t},\n\tcreated: function created() {\n\t\tvar _this = this;\n\n\t\tthis.getApplications();\n\t\tBus.$on(\"new-app-added\", function () {\n\t\t\t_this.getApplications();\n\t\t});\n\t\tBus.$on(\"reload-application-toggles\", function () {\n\t\t\t_this.changeApp();\n\t\t});\n\t\tBus.$on(\"refresh-apps\", function () {\n\t\t\t_this.refreshApps();\n\t\t});\n\t},\n\n\tmethods: {\n\t\tchangeApp: function changeApp() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar app = _.find(this.applicationList, function (a) {\n\t\t\t\treturn a.id == _this2.selectedApps[0];\n\t\t\t});\n\t\t\tif (app) {\n\t\t\t\tBus.$emit('app-changed', app);\n\t\t\t\tlocalStorage.setItem('selectedApp', app.id);\n\t\t\t\tthis.$refs.appSelection.showDropdown = false;\n\t\t\t}\n\t\t},\n\t\tgetApplications: function getApplications() {\n\t\t\tvar _this3 = this;\n\n\t\t\taxios.get('/api/applications').then(function (response) {\n\t\t\t\t_this3.applicationList = response.data;\n\t\t\t\tif (!_this3.appIsSelected) {\n\t\t\t\t\tif (response.data.length > 0) {\n\t\t\t\t\t\tif (_this3.selectedApps.length == 0) {\n\t\t\t\t\t\t\tif (localStorage.getItem('selectedApp') === null || !_this3.existsStoredApp()) {\n\t\t\t\t\t\t\t\t_this3.selectedApps.push(response.data[0].id);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_this3.selectedApps.push(localStorage.getItem('selectedApp'));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t_this3.changeApp();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}).catch(function (error) {\n\t\t\t\twindow.alert(error);\n\t\t\t});\n\t\t},\n\t\trefreshApps: function refreshApps() {\n\t\t\tthis.selectedApps = [];\n\t\t\tthis.getApplications();\n\t\t},\n\t\tgetAllAplications: function getAllAplications() {\n\t\t\tvar _this4 = this;\n\n\t\t\taxios.get('/api/applications').then(function (response) {\n\t\t\t\t_this4.applicationList = response.data;\n\t\t\t}).catch(function (error) {\n\t\t\t\twindow.alert(error);\n\t\t\t});\n\t\t},\n\t\texistsStoredApp: function existsStoredApp() {\n\t\t\tvar app = _.find(this.applicationList, function (a) {\n\t\t\t\treturn a.id == localStorage.getItem('selectedApp');\n\t\t\t});\n\t\t\treturn app != null;\n\t\t}\n\t}\n};"
- },
- {
- "id": 31,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddApplication.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/AddApplication.vue",
- "index": 71,
- "index2": 66,
- "size": 2606,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddApplication.vue",
- "issuerId": 77,
- "issuerName": "./ClientApp/AddApplication.vue",
- "profile": {
- "factory": 208,
- "building": 20,
- "dependencies": 728
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "157:12-15"
+ },
{
- "moduleId": 77,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddApplication.vue",
- "module": "./ClientApp/AddApplication.vue",
- "moduleName": "./ClientApp/AddApplication.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./AddApplication.vue",
- "loc": "3:0-111"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "161:12-15"
},
{
- "moduleId": 77,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddApplication.vue",
- "module": "./ClientApp/AddApplication.vue",
- "moduleName": "./ClientApp/AddApplication.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./AddApplication.vue",
- "loc": "4:0-124"
- }
- ],
- "usedExports": [
- "default"
- ],
- "providedExports": [
- "default"
- ],
- "optimizationBailout": [],
- "depth": 5,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { Bus } from './event-bus';\nimport axios from 'axios';\n\nexport default {\n data: function data() {\n return {\n applicationName: \"\",\n showSuccessAlert: false,\n environmentName: \"\",\n defaultToggleValue: true,\n errors: [],\n alertDuration: 1500\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n Bus.$on('openAddAppModal', function () {\n _this.$nextTick(function () {\n _this.$refs[\"appName\"].focus();\n });\n _this.clearFields();\n });\n },\n\n methods: {\n addApplication: function addApplication() {\n var _this2 = this;\n\n this.errors = [];\n Bus.$emit('block-ui');\n\n if (this.applicationName === \"\") {\n this.errors.push(\"Application name cannot be empty\");\n }\n\n if (this.environmentName === \"\") {\n this.errors.push(\"Environment name cannot be empty\");\n }\n\n if (this.errors.length > 0) {\n Bus.$emit('unblock-ui');\n return;\n }\n\n axios.post('api/Applications/add', {\n applicationName: this.applicationName,\n environmentName: this.environmentName,\n defaultToggleValue: this.defaultToggleValue\n }).then(function () {\n _this2.applicationName = '';\n _this2.environmentName = '';\n _this2.defaultToggleValue = true;\n _this2.showSuccessAlert = true;\n _this2.$nextTick(function () {\n _this2.$refs[\"appName\"].focus();\n });\n\n Bus.$emit(\"new-app-added\");\n setTimeout(function () {\n _this2.showSuccessAlert = false;\n }, _this2.alertDuration);\n }).catch(function (e) {\n _this2.errors.push(e.response.data);\n }).finally(function () {\n Bus.$emit('unblock-ui');\n });\n },\n closeAddApplicationModal: function closeAddApplicationModal() {\n Bus.$emit('close-add-application');\n },\n clearFields: function clearFields() {\n this.applicationName = \"\";\n this.environmentName = \"\";\n this.errors = [];\n this.defaultToggleValue = true;\n }\n }\n};"
- },
- {
- "id": 32,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditApplication.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/EditApplication.vue",
- "index": 74,
- "index2": 69,
- "size": 1784,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditApplication.vue",
- "issuerId": 79,
- "issuerName": "./ClientApp/EditApplication.vue",
- "profile": {
- "factory": 253,
- "building": 18,
- "dependencies": 634
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "165:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "169:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "174:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "179:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "186:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "330:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "332:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "372:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "373:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "417:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "421:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "425:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "432:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "450:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/event-bus",
+ "loc": "452:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "58:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "76:8-11"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "89:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "100:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "117:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "124:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "128:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "21:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "39:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "43:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "40:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "78:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "80:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "91:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./event-bus",
+ "loc": "14:0-34"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./event-bus",
+ "loc": "24:2-5"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\BlockUi.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/common/BlockUi.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./event-bus",
+ "loc": "27:2-5"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "68:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "98:8-11"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "102:8-11"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "144:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "154:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "156:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "158:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "166:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "22:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "46:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "47:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "48:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "50:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "54:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "84:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "112:8-11"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "118:8-11"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "151:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "153:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "163:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "65:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "99:8-11"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "102:8-11"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "108:8-11"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "134:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "144:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "148:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "152:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "22:0-42"
+ },
{
- "moduleId": 79,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditApplication.vue",
- "module": "./ClientApp/EditApplication.vue",
- "moduleName": "./ClientApp/EditApplication.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./EditApplication.vue",
- "loc": "3:0-112"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "49:8-11"
},
{
- "moduleId": 79,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\EditApplication.vue",
- "module": "./ClientApp/EditApplication.vue",
- "moduleName": "./ClientApp/EditApplication.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./EditApplication.vue",
- "loc": "4:0-125"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "60:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "62:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "66:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "108:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "154:8-11"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "181:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "220:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "283:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "99:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "164:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "182:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "188:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "192:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "212:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "221:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "245:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "17:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "31:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "32:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "34:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "38:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "108:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "155:8-11"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "167:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "171:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "190:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "199:16-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "233:23-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "237:12-15"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "10:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "33:2-5"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "37:2-5"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "41:2-5"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "45:2-5"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "58:4-7"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/event-bus",
+ "loc": "34:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "52:2-5"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "58:2-5"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "74:3-6"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "79:4-7"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "81:4-7"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/event-bus",
+ "loc": "85:3-6"
}
],
- "usedExports": [
- "default"
- ],
"providedExports": [
- "default"
+ "Bus"
],
"optimizationBailout": [],
"depth": 5,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { Bus } from './event-bus';\nimport axios from 'axios';\n\nexport default {\n data: function data() {\n return {\n selectedApp: {},\n editAppErrors: [],\n appName: \"\"\n };\n },\n created: function created() {\n var _this = this;\n\n Bus.$on(\"app-changed\", function (app) {\n if (app) {\n _this.selectedApp = app;\n _this.appName = _this.selectedApp.appName;\n }\n });\n },\n\n methods: {\n updateApp: function updateApp() {\n var _this2 = this;\n\n this.editAppErrors = [];\n if (this.stringIsNullOrEmpty(this.appName)) {\n this.editAppErrors.push(\"Application name cannot be empty\");\n return;\n }\n\n var appUpdateModel = {\n id: this.selectedApp.id,\n applicationName: this.appName\n };\n\n axios.put('/api/applications/update', appUpdateModel).then(function () {\n _this2.$emit('close-app-edit-modal');\n Bus.$emit(\"new-app-added\");\n }).catch(function (e) {\n window.alert(e);\n });\n },\n cancel: function cancel() {\n this.appName = this.selectedApp.appName;\n this.editAppErrors = [];\n this.$emit('close-app-edit-modal');\n },\n stringIsNullOrEmpty: function stringIsNullOrEmpty(text) {\n return !text || /^\\s*$/.test(text);\n },\n showDeleteConfirmationMessage: function showDeleteConfirmationMessage() {\n Bus.$emit(\"show-app-delete-confirmation\");\n }\n }\n};"
+ "source": "import Vue from 'vue';\nexport var Bus = new Vue();"
},
{
- "id": 33,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteApplication.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/DeleteApplication.vue",
- "index": 77,
- "index2": 72,
- "size": 1116,
+ "id": "./ClientApp/src/common/events.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\common\\events.js",
+ "name": "./ClientApp/src/common/events.js",
+ "index": 21,
+ "index2": 13,
+ "size": 1499,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteApplication.vue",
- "issuerId": 81,
- "issuerName": "./ClientApp/DeleteApplication.vue",
- "profile": {
- "factory": 203,
- "building": 24,
- "dependencies": 761
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "issuerId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "issuerName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
{
- "moduleId": 81,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteApplication.vue",
- "module": "./ClientApp/DeleteApplication.vue",
- "moduleName": "./ClientApp/DeleteApplication.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./DeleteApplication.vue",
- "loc": "3:0-114"
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
},
{
- "moduleId": 81,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\DeleteApplication.vue",
- "module": "./ClientApp/DeleteApplication.vue",
- "moduleName": "./ClientApp/DeleteApplication.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./DeleteApplication.vue",
- "loc": "4:0-127"
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
}
],
- "usedExports": [
- "default"
- ],
- "providedExports": [
- "default"
- ],
- "optimizationBailout": [],
- "depth": 5,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { Bus } from './event-bus';\nimport axios from 'axios';\n\nexport default {\n data: function data() {\n return {\n selectedApp: {}\n };\n },\n created: function created() {\n var _this = this;\n\n Bus.$on(\"app-changed\", function (app) {\n if (app) {\n _this.selectedApp = app;\n }\n });\n },\n\n methods: {\n deleteApp: function deleteApp() {\n var _this2 = this;\n\n axios.delete('/api/applications?id=' + this.selectedApp.id).then(function () {\n _this2.cancel();\n _this2.deleteAppCompleted();\n Bus.$emit(\"refresh-apps\");\n }).catch(function (e) {\n window.alert(e);\n }).finally(function () {\n Bus.$emit('unblock-ui');\n });\n },\n cancel: function cancel() {\n this.$emit('cancel');\n },\n deleteAppCompleted: function deleteAppCompleted() {\n this.$emit('deleteAppCompleted');\n }\n }\n};"
- },
- {
- "id": 34,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddFeatureToggle.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/AddFeatureToggle.vue",
- "index": 80,
- "index2": 75,
- "size": 2995,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
- ],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddFeatureToggle.vue",
- "issuerId": 83,
- "issuerName": "./ClientApp/AddFeatureToggle.vue",
"profile": {
- "factory": 327,
- "building": 18,
- "dependencies": 529
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 83,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddFeatureToggle.vue",
- "module": "./ClientApp/AddFeatureToggle.vue",
- "moduleName": "./ClientApp/AddFeatureToggle.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./AddFeatureToggle.vue",
- "loc": "3:0-113"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./common/events",
+ "loc": "106:0-41"
},
{
- "moduleId": 83,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddFeatureToggle.vue",
- "module": "./ClientApp/AddFeatureToggle.vue",
- "moduleName": "./ClientApp/AddFeatureToggle.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./AddFeatureToggle.vue",
- "loc": "4:0-126"
- }
- ],
- "usedExports": [
- "default"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "137:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "143:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "147:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "151:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "155:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "159:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "163:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "177:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "181:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "185:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "188:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "198:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./common/events",
+ "loc": "80:0-41"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "134:29-35"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "146:20-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "153:20-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "157:20-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "161:20-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "165:20-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "169:20-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "174:20-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "179:20-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "186:20-26"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "330:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "332:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "372:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "417:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "421:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "425:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "432:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "450:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./common/events",
+ "loc": "452:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "60:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "76:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "100:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "117:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "124:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\AddApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/AddApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "128:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "23:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "39:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\DeleteApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/DeleteApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "43:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "42:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "78:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "80:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\application\\EditApplication.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/application/EditApplication.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "91:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "71:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "98:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "102:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "144:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "154:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "156:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "158:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "166:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "23:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "46:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "47:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "48:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "50:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "54:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "86:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "112:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "118:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "151:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "153:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "163:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "67:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "99:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "102:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "108:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "134:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "144:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "148:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/AddFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "152:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "23:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "49:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "60:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "62:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/DeleteFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "66:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "110:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "154:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "181:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "220:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggle\\EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggle/EditFeatureToggle.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "283:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "104:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "164:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "182:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "188:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "192:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "212:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "221:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/AddToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "245:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "19:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "31:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "32:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "34:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/DeleteToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "38:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "109:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "155:16-22"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "167:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "171:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "190:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "199:26-32"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "233:33-39"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\featureToggleSchedule\\EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/featureToggleSchedule/EditToggleSchedule.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "237:22-28"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "11:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "33:10-16"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "37:10-16"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "41:10-16"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "45:10-16"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\AppSelection.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/AppSelection.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "58:14-20"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "../common/events",
+ "loc": "36:0-42"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "52:10-16"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "58:10-16"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "74:13-19"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "79:14-20"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "81:14-20"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\menu\\ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/menu/ForceCacheRefresh.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "../common/events",
+ "loc": "85:13-19"
+ }
],
"providedExports": [
- "default"
+ "events"
],
"optimizationBailout": [],
"depth": 5,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport PrettyCheck from 'pretty-checkbox-vue/check';\nimport { Bus } from './event-bus';\nimport axios from 'axios';\n\nexport default {\n components: {\n 'p-check': PrettyCheck\n },\n data: function data() {\n return {\n applicationId: -1,\n notes: '',\n featureToggleName: \"\",\n isPermanent: false,\n errors: [],\n existingToggles: [],\n spinner: false,\n showSuccessAlert: false,\n alertDuration: 1500,\n workItemIdentifier: \"\"\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n Bus.$on(\"app-changed\", function (app) {\n if (app) {\n _this.applicationId = app.id;\n }\n });\n\n Bus.$on(\"toggles-loaded\", function (toggles) {\n _this.existingToggles = toggles;\n });\n Bus.$on(\"openAddFeatureToggleModal\", function () {\n _this.$nextTick(function () {\n _this.$refs[\"toggleName\"].focus();\n });\n _this.clearFields();\n });\n },\n\n methods: {\n addFeatureToggle: function addFeatureToggle() {\n var _this2 = this;\n\n if (this.applicationId === -1) return;\n\n this.errors = [];\n\n if (this.featureToggleName === \"\") {\n this.errors.push(\"Feature toggle name cannot be empty\");\n return;\n }\n\n var param = {\n applicationId: this.applicationId,\n featureToggleName: this.featureToggleName,\n notes: this.notes,\n isPermanent: this.isPermanent,\n workItemIdentifier: this.workItemIdentifier.trim()\n };\n\n Bus.$emit('block-ui');\n axios.post('api/FeatureToggles/addFeatureToggle', param).then(function () {\n _this2.showSuccessAlert = true;\n _this2.featureToggleName = '';\n _this2.notes = '';\n _this2.isPermanent = false;\n _this2.workItemIdentifier = \"\";\n _this2.$nextTick(function () {\n _this2.$refs[\"toggleName\"].focus();\n });\n Bus.$emit(\"toggle-added\");\n }).catch(function (e) {\n _this2.errors.push(e.response.data);\n }).finally(function () {\n Bus.$emit('unblock-ui');\n });\n },\n closeAddToggleModal: function closeAddToggleModal() {\n Bus.$emit('close-add-toggle');\n },\n clearFields: function clearFields() {\n this.featureToggleName = \"\";\n this.errors = [];\n this.notes = '';\n this.workItemIdentifier = \"\";\n this.isPermanent = false;\n }\n }\n};"
+ "source": "export var events = {\n newApplicationAdded: \"app-added\",\n applicationEdited: \"app-edited\",\n reloadApplicationToggles: \"reload-application-toggles\",\n refreshApplications: \"refresh-apps\",\n openAddApplicationModal: \"openAddAppModal\",\n closeAddApplicationModal: \"close-add-application\",\n showDeleteApplicationConfirmationModal: \"show-app-delete-confirmation\",\n applicationChanged: \"app-changed\",\n environmentsLoaded: \"env-loaded\",\n environmentAdded: \"env-added\",\n openAddEnvironmentModal: \"openAddEnvModal\",\n editEnvironment: \"edit-environment\",\n closeAddEnvironmentModal: \"close-add-environment\",\n closeDeleteEnvironmentModal: \"close-deleteEnvironment\",\n closeEditEnvironmentModal: \"close-editEnvironment\",\n togglesLoaded: \"toggles-loaded\",\n openAddFeatureToggleModal: \"openAddFeatureToggleModal\",\n toggleAdded: \"toggle-added\",\n closeAddFeatureToggleModal: \"close-add-toggle\",\n deleteFeatureToggle: \"delete-featureToggle\",\n closeDeleteFeatureToggleModal: \"close-deleteToggle\",\n openEditFeatureToggleModal: \"open-editFeatureToggle\",\n closeEditFeatureToggleModal: \"close-editFeatureToggle\",\n openAddSchedulerModal: \"add-scheduler\",\n toggleScheduled: \"toggle-scheduled\",\n closeToggleSchedulerModal: \"close-scheduler\",\n closeDeleteSchedulerModal: \"close-deleteScheduler\",\n closeForceCacheRefreshModal: \"close-refresh\",\n unblockUI: \"unblock-ui\",\n blockUI: \"block-ui\",\n showErrorAlertModal: \"openErrorAlertModal\"\n};"
},
{
- "id": 35,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddEnvironment.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/AddEnvironment.vue",
- "index": 83,
- "index2": 78,
- "size": 3290,
+ "id": "./ClientApp/src/environment/AddEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "name": "./ClientApp/src/environment/AddEnvironment.vue",
+ "index": 85,
+ "index2": 84,
+ "size": 1144,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "issuerId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "issuerName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddEnvironment.vue",
- "issuerId": 85,
- "issuerName": "./ClientApp/AddEnvironment.vue",
"profile": {
- "factory": 358,
- "building": 19,
- "dependencies": 603
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 85,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddEnvironment.vue",
- "module": "./ClientApp/AddEnvironment.vue",
- "moduleName": "./ClientApp/AddEnvironment.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./AddEnvironment.vue",
- "loc": "3:0-111"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./environment/AddEnvironment",
+ "loc": "100:0-58"
},
{
- "moduleId": 85,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\AddEnvironment.vue",
- "module": "./ClientApp/AddEnvironment.vue",
- "moduleName": "./ClientApp/AddEnvironment.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./AddEnvironment.vue",
- "loc": "4:0-124"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./environment/AddEnvironment",
+ "loc": "116:19-33"
}
],
- "usedExports": [
- "default"
- ],
"providedExports": [
"default"
],
"optimizationBailout": [],
"depth": 5,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { Bus } from './event-bus';\nimport axios from 'axios';\nimport PrettyCheck from 'pretty-checkbox-vue/check';\n\nexport default {\n components: {\n 'p-check': PrettyCheck\n },\n data: function data() {\n return {\n applicationId: -1,\n envName: \"\",\n sortOrder: 500,\n defaultToggleValue: false,\n existingEnvs: [],\n errors: [],\n showSuccessAlert: false,\n alertDuration: 1500,\n requireReasonWhenToggleEnabled: false,\n requireReasonWhenToggleDisabled: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n Bus.$on(\"app-changed\", function (app) {\n if (app) {\n _this.applicationId = app.id;\n }\n });\n\n Bus.$on(\"env-loaded\", function (envs) {\n _this.existingEnvs = envs;\n });\n\n Bus.$on('openAddEnvModal', function () {\n _this.$nextTick(function () {\n _this.$refs[\"envName\"].focus();\n });\n _this.clearFields();\n });\n },\n\n methods: {\n clearFields: function clearFields() {\n this.envName = \"\";\n this.errors = [];\n this.defaultToggleValue = false;\n },\n addEnv: function addEnv() {\n var _this2 = this;\n\n if (this.applicationId === -1) return;\n\n this.errors = [];\n\n if (this.existingEnvs.some(function (env) {\n return env === _this2.envName;\n })) {\n this.errors.push(\"Environment already exists\");\n return;\n }\n\n if (this.envName === \"\") {\n this.errors.push(\"Environment name cannot be empty\");\n return;\n }\n\n var param = {\n applicationId: this.applicationId,\n envName: this.envName,\n sortOrder: this.sortOrder,\n defaultToggleValue: this.defaultToggleValue,\n requireReasonToChangeWhenToggleEnabled: this.requireReasonWhenToggleEnabled,\n requireReasonToChangeWhenToggleDisabled: this.requireReasonWhenToggleDisabled\n };\n\n Bus.$emit('block-ui');\n axios.post('api/FeatureToggles/AddEnvironment', param).then(function () {\n _this2.showSuccessAlert = true;\n _this2.envName = '';\n _this2.defaultToggleValue = false;\n _this2.requireReasonWhenToggleEnabled = false;\n _this2.requireReasonWhenToggleDisabled = false;\n _this2.$nextTick(function () {\n _this2.$refs[\"envName\"].focus();\n });\n Bus.$emit(\"env-added\");\n }).catch(function (e) {\n window.alert(e);\n }).finally(function () {\n Bus.$emit('unblock-ui');\n });\n },\n closeAddEnvironmentModal: function closeAddEnvironmentModal() {\n Bus.$emit('close-add-environment');\n }\n }\n};"
+ "source": "import { render, staticRenderFns } from \"./AddEnvironment.vue?vue&type=template&id=7a8490e0&\"\nimport script from \"./AddEnvironment.vue?vue&type=script&lang=js&\"\nexport * from \"./AddEnvironment.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"D:\\\\Projects\\\\Moggles\\\\Moggles\\\\node_modules\\\\vue-hot-reload-api\\\\dist\\\\index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('7a8490e0')) {\n api.createRecord('7a8490e0', component.options)\n } else {\n api.reload('7a8490e0', component.options)\n }\n module.hot.accept(\"./AddEnvironment.vue?vue&type=template&id=7a8490e0&\", function () {\n api.rerender('7a8490e0', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"ClientApp/src/environment/AddEnvironment.vue\"\nexport default component.exports"
},
{
- "id": 36,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\ForceCacheRefresh.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/ForceCacheRefresh.vue",
- "index": 86,
- "index2": 81,
- "size": 1147,
+ "id": "./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/environment/AddEnvironment.vue?vue&type=script&lang=js&",
+ "index": 88,
+ "index2": 83,
+ "size": 378,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "issuerId": "./ClientApp/src/environment/AddEnvironment.vue",
+ "issuerName": "./ClientApp/src/environment/AddEnvironment.vue",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/AddEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "name": "./ClientApp/src/environment/AddEnvironment.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\ForceCacheRefresh.vue",
- "issuerId": 87,
- "issuerName": "./ClientApp/ForceCacheRefresh.vue",
"profile": {
- "factory": 243,
- "building": 11,
- "dependencies": 675
+ "factory": 268,
+ "building": 0
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 87,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\ForceCacheRefresh.vue",
- "module": "./ClientApp/ForceCacheRefresh.vue",
- "moduleName": "./ClientApp/ForceCacheRefresh.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./ForceCacheRefresh.vue",
- "loc": "3:0-114"
+ "moduleId": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "module": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/AddEnvironment.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./AddEnvironment.vue?vue&type=script&lang=js&",
+ "loc": "2:0-66"
+ },
+ {
+ "moduleId": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "module": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/AddEnvironment.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./AddEnvironment.vue?vue&type=script&lang=js&",
+ "loc": "3:0-61"
+ },
+ {
+ "moduleId": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "module": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/AddEnvironment.vue",
+ "type": "harmony export imported specifier",
+ "userRequest": "./AddEnvironment.vue?vue&type=script&lang=js&",
+ "loc": "3:0-61"
},
{
- "moduleId": 87,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\ForceCacheRefresh.vue",
- "module": "./ClientApp/ForceCacheRefresh.vue",
- "moduleName": "./ClientApp/ForceCacheRefresh.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./ForceCacheRefresh.vue",
- "loc": "4:0-127"
+ "moduleId": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "module": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/AddEnvironment.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./AddEnvironment.vue?vue&type=script&lang=js&",
+ "loc": "9:2-8"
}
],
- "usedExports": [
- "default"
- ],
"providedExports": [
"default"
],
"optimizationBailout": [],
- "depth": 5,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { Bus } from './event-bus';\nimport axios from 'axios';\n\nexport default {\n\tdata: function data() {\n\t\treturn {\n\t\t\tapplicationId: -1,\n\t\t\texistingEnvs: [],\n\t\t\tspinner: false,\n\t\t\tshowSuccessAlert: false,\n\t\t\tenvName: null,\n\t\t\talertDuration: 1500\n\t\t};\n\t},\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tBus.$on(\"app-changed\", function (app) {\n\t\t\tif (app) {\n\t\t\t\t_this.applicationId = app.id;\n\t\t\t}\n\t\t});\n\n\t\tBus.$on(\"env-loaded\", function (envs) {\n\t\t\t_this.existingEnvs = envs;\n\t\t});\n\t},\n\n\tmethods: {\n\t\trefresh: function refresh() {\n\t\t\tvar _this2 = this;\n\n\t\t\tif (this.applicationId === -1) return;\n\n\t\t\tvar param = {\n\t\t\t\tapplicationId: this.applicationId,\n\t\t\t\tenvName: this.envName\n\t\t\t};\n\n\t\t\tBus.$emit('block-ui');\n\t\t\taxios.post('api/CacheRefresh', param).then(function () {\n\t\t\t\t_this2.showSuccessAlert = true;\n\t\t\t\t_this2.envName = null;\n\t\t\t}).catch(function (e) {\n\t\t\t\twindow.alert(e);\n\t\t\t}).finally(function () {\n\t\t\t\tBus.$emit('unblock-ui');\n\t\t\t});\n\t\t},\n\t\tcloseRefreshModal: function closeRefreshModal() {\n\t\t\tBus.$emit('close-refresh');\n\t\t}\n\t}\n};"
+ "depth": 6,
+ "source": "import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEnvironment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEnvironment.vue?vue&type=script&lang=js&\""
},
{
- "id": 37,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\BlockUi.vue",
- "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/BlockUi.vue",
- "index": 89,
- "index2": 84,
- "size": 488,
+ "id": "./ClientApp/src/environment/AddEnvironment.vue?vue&type=template&id=7a8490e0&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue?vue&type=template&id=7a8490e0&",
+ "name": "./ClientApp/src/environment/AddEnvironment.vue?vue&type=template&id=7a8490e0&",
+ "index": 86,
+ "index2": 81,
+ "size": 218,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "issuerId": "./ClientApp/src/environment/AddEnvironment.vue",
+ "issuerName": "./ClientApp/src/environment/AddEnvironment.vue",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/AddEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "name": "./ClientApp/src/environment/AddEnvironment.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\BlockUi.vue",
- "issuerId": 89,
- "issuerName": "./ClientApp/BlockUi.vue",
"profile": {
- "factory": 311,
- "building": 9,
- "dependencies": 5
+ "factory": 268,
+ "building": 0
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 89,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\BlockUi.vue",
- "module": "./ClientApp/BlockUi.vue",
- "moduleName": "./ClientApp/BlockUi.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./BlockUi.vue",
- "loc": "3:0-104"
+ "moduleId": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "module": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/AddEnvironment.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./AddEnvironment.vue?vue&type=template&id=7a8490e0&",
+ "loc": "1:0-93"
+ },
+ {
+ "moduleId": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "module": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/AddEnvironment.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./AddEnvironment.vue?vue&type=template&id=7a8490e0&",
+ "loc": "10:2-8"
},
{
- "moduleId": 89,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\BlockUi.vue",
- "module": "./ClientApp/BlockUi.vue",
- "moduleName": "./ClientApp/BlockUi.vue",
- "type": "harmony import",
- "userRequest": "!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./BlockUi.vue",
- "loc": "4:0-117"
+ "moduleId": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\AddEnvironment.vue",
+ "module": "./ClientApp/src/environment/AddEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/AddEnvironment.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./AddEnvironment.vue?vue&type=template&id=7a8490e0&",
+ "loc": "11:2-17"
}
],
- "usedExports": [
- "default"
- ],
"providedExports": [
- "default"
+ "render",
+ "staticRenderFns"
],
"optimizationBailout": [],
- "depth": 5,
- "source": "//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { Bus } from './event-bus';\nexport default {\n\tdata: function data() {\n\t\treturn {\n\t\t\tblock: false\n\t\t};\n\t},\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tBus.$on('block-ui', function () {\n\t\t\treturn _this.blockUI();\n\t\t});\n\t\tBus.$on('unblock-ui', function () {\n\t\t\treturn _this.unblockUI();\n\t\t});\n\t},\n\n\tmethods: {\n\t\tblockUI: function blockUI() {\n\t\t\tthis.block = true;\n\t\t},\n\t\tunblockUI: function unblockUI() {\n\t\t\tthis.block = false;\n\t\t}\n\t}\n};"
+ "depth": 6,
+ "source": "export * from \"-!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddEnvironment.vue?vue&type=template&id=7a8490e0&\""
},
{
- "id": 38,
- "identifier": "multi ./ClientApp/boot.js ./sass/moggles.scss",
- "name": "multi ./ClientApp/boot.js ./sass/moggles.scss",
- "index": 0,
- "index2": 95,
- "size": 40,
+ "id": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "name": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "index": 44,
+ "index2": 37,
+ "size": 1159,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
],
- "assets": [],
- "issuer": null,
- "issuerId": null,
- "issuerName": null,
- "profile": {
- "factory": 1,
- "building": 0
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [],
- "usedExports": true,
- "providedExports": null,
- "optimizationBailout": [],
- "depth": 0
- },
- {
- "id": 39,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\boot.js",
- "name": "./ClientApp/boot.js",
- "index": 1,
- "index2": 93,
- "size": 302,
- "cacheable": true,
- "built": true,
- "optional": false,
- "prefetched": false,
- "chunks": [
- 0
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "issuerId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "issuerName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/TogglesList.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue",
+ "name": "./ClientApp/src/TogglesList.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ },
+ {
+ "id": "./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 1217,
+ "building": 1
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 0,
+ "building": 214,
+ "dependencies": 657
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/EditEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue",
+ "name": "./ClientApp/src/environment/EditEnvironment.vue",
+ "profile": {
+ "factory": 1025,
+ "building": 0,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 156,
+ "building": 0
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 1,
+ "building": 50,
+ "dependencies": 0
+ }
+ }
],
- "assets": [],
- "issuer": "multi ./ClientApp/boot.js ./sass/moggles.scss",
- "issuerId": 38,
- "issuerName": "multi ./ClientApp/boot.js ./sass/moggles.scss",
"profile": {
- "factory": 22,
- "building": 1312
+ "factory": 54,
+ "building": 22,
+ "dependencies": 0
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 38,
- "moduleIdentifier": "multi ./ClientApp/boot.js ./sass/moggles.scss",
- "module": "multi ./ClientApp/boot.js ./sass/moggles.scss",
- "moduleName": "multi ./ClientApp/boot.js ./sass/moggles.scss",
- "type": "single entry",
- "userRequest": "./ClientApp/boot.js",
- "loc": "main:100000"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./DeleteEnvironment",
+ "loc": "85:0-52"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./DeleteEnvironment",
+ "loc": "91:29-46"
}
],
- "usedExports": true,
- "providedExports": [],
+ "providedExports": [
+ "default"
+ ],
"optimizationBailout": [],
- "depth": 1,
- "source": "import Vue from 'vue';\nimport App from './App.vue';\nimport VueGoodTablePlugin from 'vue-good-table';\nimport * as uiv from 'uiv';\n\nVue.use(VueGoodTablePlugin);\nVue.use(uiv);\nVue.use(require('vue-moment'));\n\nnew Vue({\n el: '#app-root',\n render: function render(h) {\n return h(App);\n }\n});"
+ "depth": 11,
+ "source": "import { render, staticRenderFns } from \"./DeleteEnvironment.vue?vue&type=template&id=c07c14ac&\"\nimport script from \"./DeleteEnvironment.vue?vue&type=script&lang=js&\"\nexport * from \"./DeleteEnvironment.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"D:\\\\Projects\\\\Moggles\\\\Moggles\\\\node_modules\\\\vue-hot-reload-api\\\\dist\\\\index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('c07c14ac')) {\n api.createRecord('c07c14ac', component.options)\n } else {\n api.reload('c07c14ac', component.options)\n }\n module.hot.accept(\"./DeleteEnvironment.vue?vue&type=template&id=c07c14ac&\", function () {\n api.rerender('c07c14ac', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"ClientApp/src/environment/DeleteEnvironment.vue\"\nexport default component.exports"
},
{
- "id": 40,
- "identifier": "delegated 231 from dll-reference vendor_89eb6b23a3aa100fe7b7",
- "name": "delegated ./node_modules/timers-browserify/main.js from dll-reference vendor_89eb6b23a3aa100fe7b7",
- "index": 5,
- "index2": 2,
- "size": 42,
+ "id": "./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "index": 47,
+ "index2": 36,
+ "size": 384,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "issuerId": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "issuerName": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/TogglesList.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue",
+ "name": "./ClientApp/src/TogglesList.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ },
+ {
+ "id": "./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 1217,
+ "building": 1
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 0,
+ "building": 214,
+ "dependencies": 657
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/EditEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue",
+ "name": "./ClientApp/src/environment/EditEnvironment.vue",
+ "profile": {
+ "factory": 1025,
+ "building": 0,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 156,
+ "building": 0
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 1,
+ "building": 50,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "name": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "profile": {
+ "factory": 54,
+ "building": 22,
+ "dependencies": 0
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue\\dist\\vue.esm.js",
- "issuerId": 12,
- "issuerName": "./node_modules/vue/dist/vue.esm.js",
"profile": {
- "factory": 9,
- "building": 0,
- "dependencies": 0
+ "factory": 21,
+ "building": 0
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 12,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue\\dist\\vue.esm.js",
- "module": "./node_modules/vue/dist/vue.esm.js",
- "moduleName": "./node_modules/vue/dist/vue.esm.js",
- "type": "cjs require",
- "userRequest": "setImmediate",
- "loc": "1:0-44"
+ "moduleId": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "module": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "loc": "2:0-69"
+ },
+ {
+ "moduleId": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "module": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "loc": "3:0-64"
+ },
+ {
+ "moduleId": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "module": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "type": "harmony export imported specifier",
+ "userRequest": "./DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "loc": "3:0-64"
+ },
+ {
+ "moduleId": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "module": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./DeleteEnvironment.vue?vue&type=script&lang=js&",
+ "loc": "9:2-8"
}
],
- "usedExports": true,
- "providedExports": null,
+ "providedExports": [
+ "default"
+ ],
"optimizationBailout": [],
- "depth": 3
+ "depth": 12,
+ "source": "import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteEnvironment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteEnvironment.vue?vue&type=script&lang=js&\""
},
{
- "id": 41,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\App.vue",
- "name": "./ClientApp/App.vue",
- "index": 6,
- "index2": 89,
- "size": 1573,
+ "id": "./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=template&id=c07c14ac&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue?vue&type=template&id=c07c14ac&",
+ "name": "./ClientApp/src/environment/DeleteEnvironment.vue?vue&type=template&id=c07c14ac&",
+ "index": 45,
+ "index2": 34,
+ "size": 221,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "issuerId": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "issuerName": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/TogglesList.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue",
+ "name": "./ClientApp/src/TogglesList.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ },
+ {
+ "id": "./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 1217,
+ "building": 1
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 0,
+ "building": 214,
+ "dependencies": 657
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/EditEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue",
+ "name": "./ClientApp/src/environment/EditEnvironment.vue",
+ "profile": {
+ "factory": 1025,
+ "building": 0,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 156,
+ "building": 0
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 1,
+ "building": 50,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "name": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "profile": {
+ "factory": 54,
+ "building": 22,
+ "dependencies": 0
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\boot.js",
- "issuerId": 39,
- "issuerName": "./ClientApp/boot.js",
"profile": {
- "factory": 26,
- "building": 141
+ "factory": 21,
+ "building": 0
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 39,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\boot.js",
- "module": "./ClientApp/boot.js",
- "moduleName": "./ClientApp/boot.js",
- "type": "harmony import",
- "userRequest": "./App.vue",
- "loc": "2:0-28"
+ "moduleId": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "module": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./DeleteEnvironment.vue?vue&type=template&id=c07c14ac&",
+ "loc": "1:0-96"
+ },
+ {
+ "moduleId": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "module": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./DeleteEnvironment.vue?vue&type=template&id=c07c14ac&",
+ "loc": "10:2-8"
+ },
+ {
+ "moduleId": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\DeleteEnvironment.vue",
+ "module": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "moduleName": "./ClientApp/src/environment/DeleteEnvironment.vue",
+ "type": "harmony import specifier",
+ "userRequest": "./DeleteEnvironment.vue?vue&type=template&id=c07c14ac&",
+ "loc": "11:2-17"
}
],
- "usedExports": [
- "default"
- ],
"providedExports": [
- "default"
+ "render",
+ "staticRenderFns"
],
"optimizationBailout": [],
- "depth": 2,
- "source": "var disposed = false\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ab83e986\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"ClientApp\\\\App.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-ab83e986\", Component.options)\n } else {\n hotAPI.reload(\"data-v-ab83e986\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nexport default Component.exports\n"
+ "depth": 12,
+ "source": "export * from \"-!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteEnvironment.vue?vue&type=template&id=c07c14ac&\""
},
{
- "id": 42,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\TogglesList.vue",
- "name": "./ClientApp/TogglesList.vue",
- "index": 8,
- "index2": 62,
- "size": 1921,
+ "id": "./ClientApp/src/environment/EditEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue",
+ "name": "./ClientApp/src/environment/EditEnvironment.vue",
+ "index": 39,
+ "index2": 40,
+ "size": 1149,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
+ ],
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "issuerId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "issuerName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "issuerPath": [
+ {
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/TogglesList.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue",
+ "name": "./ClientApp/src/TogglesList.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ },
+ {
+ "id": "./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 1217,
+ "building": 1
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 0,
+ "building": 214,
+ "dependencies": 657
+ }
+ }
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\App.vue",
- "issuerId": 15,
- "issuerName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/App.vue",
"profile": {
- "factory": 213,
- "building": 690,
- "dependencies": 1
+ "factory": 1025,
+ "building": 0,
+ "dependencies": 0
},
"failed": false,
"errors": 0,
"warnings": 0,
+ "assets": [],
"reasons": [
{
- "moduleId": 15,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=script&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\App.vue",
- "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/App.vue",
- "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./ClientApp/App.vue",
- "type": "harmony import",
- "userRequest": "./TogglesList",
- "loc": "90:0-40"
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony side effect evaluation",
+ "userRequest": "./environment/EditEnvironment",
+ "loc": "84:0-60"
+ },
+ {
+ "moduleId": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "module": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "moduleName": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "type": "harmony import specifier",
+ "userRequest": "./environment/EditEnvironment",
+ "loc": "92:28-43"
}
],
- "usedExports": [
- "default"
- ],
"providedExports": [
"default"
],
"optimizationBailout": [],
- "depth": 4,
- "source": "var disposed = false\nfunction injectStyle (context) {\n if (disposed) return\n require(\"!!vue-style-loader!css-loader!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-48e57bf9\\\",\\\"scoped\\\":false,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./TogglesList.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./TogglesList.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./TogglesList.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-48e57bf9\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./TogglesList.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\nComponent.options.__file = \"ClientApp\\\\TogglesList.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-48e57bf9\", Component.options)\n } else {\n hotAPI.reload(\"data-v-48e57bf9\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nexport default Component.exports\n"
+ "depth": 8,
+ "source": "import { render, staticRenderFns } from \"./EditEnvironment.vue?vue&type=template&id=11d045eb&\"\nimport script from \"./EditEnvironment.vue?vue&type=script&lang=js&\"\nexport * from \"./EditEnvironment.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"D:\\\\Projects\\\\Moggles\\\\Moggles\\\\node_modules\\\\vue-hot-reload-api\\\\dist\\\\index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('11d045eb')) {\n api.createRecord('11d045eb', component.options)\n } else {\n api.reload('11d045eb', component.options)\n }\n module.hot.accept(\"./EditEnvironment.vue?vue&type=template&id=11d045eb&\", function () {\n api.rerender('11d045eb', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"ClientApp/src/environment/EditEnvironment.vue\"\nexport default component.exports"
},
{
- "id": 43,
- "identifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-style-loader\\index.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\css-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\style-compiler\\index.js?{\"vue\":true,\"id\":\"data-v-48e57bf9\",\"scoped\":false,\"sourceMap\":true}!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\selector.js?type=styles&index=0!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\TogglesList.vue",
- "name": "./node_modules/vue-style-loader!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-48e57bf9\",\"scoped\":false,\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./ClientApp/TogglesList.vue",
- "index": 9,
- "index2": 8,
- "size": 1577,
+ "id": "./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/environment/EditEnvironment.vue?vue&type=script&lang=js&",
+ "index": 42,
+ "index2": 39,
+ "size": 380,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
- 0
+ "main"
],
- "assets": [],
- "issuer": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\TogglesList.vue",
- "issuerId": 42,
- "issuerName": "./ClientApp/TogglesList.vue",
- "profile": {
- "factory": 669,
- "building": 2
- },
- "failed": false,
- "errors": 0,
- "warnings": 0,
- "reasons": [
+ "issuer": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue",
+ "issuerId": "./ClientApp/src/environment/EditEnvironment.vue",
+ "issuerName": "./ClientApp/src/environment/EditEnvironment.vue",
+ "issuerPath": [
{
- "moduleId": 42,
- "moduleIdentifier": "D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\vue-loader\\index.js??ref--4!D:\\Projects\\Moggles\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\Moggles\\ClientApp\\TogglesList.vue",
- "module": "./ClientApp/TogglesList.vue",
- "moduleName": "./ClientApp/TogglesList.vue",
- "type": "cjs require",
- "userRequest": "!!vue-style-loader!css-loader!../node_modules/vue-loader/lib/style-compiler/index?{\"vue\":true,\"id\":\"data-v-48e57bf9\",\"scoped\":false,\"sourceMap\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./TogglesList.vue",
- "loc": "4:2-250"
+ "id": 0,
+ "identifier": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "name": "multi ./ClientApp/src/boot.js ./sass/moggles.scss",
+ "profile": {
+ "factory": 0,
+ "building": 2
+ }
+ },
+ {
+ "id": "./ClientApp/src/boot.js",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\boot.js",
+ "name": "./ClientApp/src/boot.js",
+ "profile": {
+ "factory": 216,
+ "building": 4096
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue",
+ "name": "./ClientApp/src/App.vue",
+ "profile": {
+ "factory": 211,
+ "building": 103,
+ "dependencies": 0
+ }
+ },
+ {
+ "id": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 4,
+ "building": 246
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\App.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/App.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 3,
+ "building": 48
+ }
+ },
+ {
+ "id": "./ClientApp/src/TogglesList.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue",
+ "name": "./ClientApp/src/TogglesList.vue",
+ "profile": {
+ "factory": 1204,
+ "building": 0,
+ "dependencies": 111
+ }
+ },
+ {
+ "id": "./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\loaders\\pitcher.js??ref--4!D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "name": "./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 1217,
+ "building": 1
+ }
+ },
+ {
+ "id": "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\babel-loader\\lib\\index.js!D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\TogglesList.vue?vue&type=script&lang=js&",
+ "name": "./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./ClientApp/src/TogglesList.vue?vue&type=script&lang=js&",
+ "profile": {
+ "factory": 0,
+ "building": 214,
+ "dependencies": 657
+ }
+ },
+ {
+ "id": "./ClientApp/src/environment/EditEnvironment.vue",
+ "identifier": "D:\\Projects\\Moggles\\Moggles\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Projects\\Moggles\\Moggles\\node_modules\\eslint-loader\\dist\\cjs.js!D:\\Projects\\Moggles\\Moggles\\ClientApp\\src\\environment\\EditEnvironment.vue",
+ "name": "./ClientApp/src/environment/EditEnvironment.vue",
+ "profile": {
+ "factory": 1025,
+ "building": 0,
+ "dependencies": 0
+ }
}
],
- "usedExports": true,
- "providedExports": null,
- "optimizationBailout": [],
- "depth": 5,
- "source": "// style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 78 */
-/***/ (function(module, exports) {
-
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
- */
- // css base code, injected by the css-loader
- module.exports = function() {
- var list = [];
-
- // return the list of modules as css string
- list.toString = function toString() {
- var result = [];
- for(var i = 0; i < this.length; i++) {
- var item = this[i];
- if(item[2]) {
- result.push("@media " + item[2] + "{" + item[1] + "}");
- } else {
- result.push(item[1]);
- }
- }
- return result.join("");
- };
-
- // import a list of modules into the list
- list.i = function(modules, mediaQuery) {
- if(typeof modules === "string")
- modules = [[null, modules, ""]];
- var alreadyImportedModules = {};
- for(var i = 0; i < this.length; i++) {
- var id = this[i][0];
- if(typeof id === "number")
- alreadyImportedModules[id] = true;
- }
- for(i = 0; i < modules.length; i++) {
- var item = modules[i];
- // skip already imported module
- // this implementation is not 100% perfect for weird media query combinations
- // when a module is imported multiple times with different media queries.
- // I hope this will never occur (Hey this way we have smaller bundles)
- if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
- if(mediaQuery && !item[2]) {
- item[2] = mediaQuery;
- } else if(mediaQuery) {
- item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
- }
- list.push(item);
- }
- }
- };
- return list;
- };
-
-
-/***/ }),
-/* 79 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
- */
- var stylesInDom = {},
- memoize = function(fn) {
- var memo;
- return function () {
- if (typeof memo === "undefined") memo = fn.apply(this, arguments);
- return memo;
- };
- },
- isOldIE = memoize(function() {
- return /msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase());
- }),
- getHeadElement = memoize(function () {
- return document.head || document.getElementsByTagName("head")[0];
- }),
- singletonElement = null,
- singletonCounter = 0,
- styleElementsInsertedAtTop = [];
-
- module.exports = function(list, options) {
- if(false) {
- if(typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment");
- }
-
- options = options || {};
- // Force single-tag solution on IE6-9, which has a hard limit on the # of \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 85 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _utils = __webpack_require__(65);
-
- var _NodeList = __webpack_require__(1);
-
- var _NodeList2 = _interopRequireDefault(_NodeList);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
- exports.default = {
- props: {
- header: { type: String },
- placement: { type: String, default: 'right' },
- show: { type: Boolean, required: true },
- width: { type: Number, default: 320 }
- },
- watch: {
- show: function show(val, old) {
- var _this = this;
-
- this.$emit('input', val);
- this.$emit(this.show ? 'open' : 'close');
- var body = document.body;
- var scrollBarWidth = (0, _utils.getScrollBarWidth)();
- if (val) {
- if (!this._backdrop) {
- this._backdrop = document.createElement('div');
- }
- this._backdrop.className = 'aside-backdrop';
- body.appendChild(this._backdrop);
- body.classList.add('modal-open');
- if (scrollBarWidth !== 0) {
- body.style.paddingRight = scrollBarWidth + 'px';
- }
- // request property that requires layout to force a layout
- var x = this._backdrop.clientHeight;
- this._backdrop.classList.add('in');
- (0, _NodeList2.default)(this._backdrop).on('click', function () {
- return _this.trigger_close();
- });
- } else {
- (0, _NodeList2.default)(this._backdrop).on('transitionend', function () {
- (0, _NodeList2.default)(_this._backdrop).off();
- try {
- body.classList.remove('modal-open');
- body.style.paddingRight = '0';
- body.removeChild(_this._backdrop);
- _this._backdrop = null;
- } catch (e) {}
- });
- this._backdrop.className = 'aside-backdrop';
- }
- }
- },
- methods: {
- trigger: function trigger() {
- var _this2 = this;
-
- return {
- close: function close() {
- return _this2.trigger_close();
- },
- open: function open() {
- return _this2.trigger_open();
- }
- };
- },
- trigger_close: function trigger_close() {
- this.$emit('close');
- },
- trigger_open: function trigger_open() {
- this.$emit('open');
- }
- },
- mounted: function mounted() {
- var _this3 = this;
-
- this.$emit('trigger', function () {
- return _this3.trigger;
- });
- }
- };
-
-/***/ }),
-/* 86 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('transition', {
- attrs: {
- "name": 'slide' + _vm.placement
- }
- }, [(_vm.show) ? _c('div', {
- staticClass: "aside",
- class: _vm.placement,
- style: ({
- width: _vm.width + 'px'
- })
- }, [_c('div', {
- staticClass: "aside-dialog"
- }, [_c('div', {
- staticClass: "aside-content"
- }, [_c('div', {
- staticClass: "aside-header"
- }, [_c('button', {
- staticClass: "close",
- attrs: {
- "type": "button"
- },
- on: {
- "click": _vm.trigger_close
- }
- }, [_c('span', [_vm._v("×")])]), _vm._v(" "), _c('h4', {
- staticClass: "aside-title"
- }, [_vm._t("header", [_vm._v(_vm._s(_vm.header))])], 2)]), _vm._v(" "), _c('div', {
- staticClass: "aside-body"
- }, [_vm._t("default")], 2)])])]) : _vm._e()])
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-0c671724", module.exports)
- }
- }
-
-/***/ }),
-/* 87 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* script */
- __vue_exports__ = __webpack_require__(88)
-
- /* template */
- var __vue_template__ = __webpack_require__(89)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/buttonGroup.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-375f167a", __vue_options__)
- } else {
- hotAPI.reload("data-v-375f167a", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] buttonGroup.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 88 */
-/***/ (function(module, exports) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- //
- //
- //
- //
- //
- //
-
- exports.default = {
- props: {
- buttons: { type: Boolean, default: true },
- disabled: { type: Boolean, default: false },
- justified: { type: Boolean, default: false },
- type: { type: String, default: 'default' },
- value: { default: null },
- vertical: { type: Boolean, default: false }
- },
- computed: {
- btnGroup: function btnGroup() {
- return !this.disabled;
- }
- },
- data: function data() {
- return {
- val: this.value
- };
- },
-
- watch: {
- // this will update EXTERNAL v-model when our val changes
- val: function val(_val) {
- this.$emit('input', _val);
- },
-
- // this will update our INTERNAL val, when something external changes our v-model
- value: function value(val) {
- this.val = val;
- }
- }
- };
-
-/***/ }),
-/* 89 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- class: {
- 'btn-group': _vm.buttons, 'btn-group-justified': _vm.justified, 'btn-group-vertical': _vm.vertical
- },
- attrs: {
- "data-toggle": _vm.buttons && 'buttons'
- }
- }, [_vm._t("default")], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-375f167a", module.exports)
- }
- }
-
-/***/ }),
-/* 90 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(91)
-
- /* script */
- __vue_exports__ = __webpack_require__(93)
-
- /* template */
- var __vue_template__ = __webpack_require__(94)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Carousel.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
- __vue_options__._scopeId = "data-v-f20442cc"
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-f20442cc", __vue_options__)
- } else {
- hotAPI.reload("data-v-f20442cc", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Carousel.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 91 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 93 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _NodeList = __webpack_require__(1);
-
- var _NodeList2 = _interopRequireDefault(_NodeList);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- // let coerce = {
- // interval: 'number'
- // }
-
- exports.default = {
- props: {
- indicators: {
- type: Boolean,
- default: true
- },
- controls: {
- type: Boolean,
- default: true
- },
- interval: {
- type: Number,
- default: 5000
- }
- },
- data: function data() {
- return {
- indicator_list: [],
- index: 0,
- isAnimating: false
- };
- },
-
- watch: {
- index: function index(newVal, oldVal) {
- this.slide(newVal > oldVal ? 'left' : 'right', newVal, oldVal);
- }
- },
- methods: {
- indicatorClick: function indicatorClick(index) {
- if (this.isAnimating || this.index === index) return false;
- this.isAnimating = true;
- this.index = index;
- },
- slide: function slide(direction, next, prev) {
- var _this = this;
-
- if (!this.$el) {
- return;
- }
- var $slider = (0, _NodeList2.default)('.item', this.$el);
- if (!$slider.length) {
- return;
- }
- var selected = $slider[next] || $slider[0];
- (0, _NodeList2.default)(selected).addClass(direction === 'left' ? 'next' : 'prev');
- // request property that requires layout to force a layout
- var x = selected.clientHeight;
- (0, _NodeList2.default)([$slider[prev], selected]).addClass(direction).on('transitionend', function () {
- $slider.off('transitionend').className = 'item';
- (0, _NodeList2.default)(selected).addClass('active');
- _this.isAnimating = false;
- });
- },
- next: function next() {
- if (!this.$el || this.isAnimating) {
- return false;
- }
- this.isAnimating = true;
- this.index + 1 < (0, _NodeList2.default)('.item', this.$el).length ? this.index += 1 : this.index = 0;
- },
- prev: function prev() {
- if (!this.$el || this.isAnimating) {
- return false;
- }
- this.isAnimating = true;
- this.index === 0 ? this.index = (0, _NodeList2.default)('.item', this.$el).length - 1 : this.index -= 1;
- },
- toggleInterval: function toggleInterval(val) {
- if (val === undefined) {
- val = this._intervalID;
- }
- if (this._intervalID) {
- clearInterval(this._intervalID);
- delete this._intervalID;
- }
- if (val && this.interval > 0) {
- this._intervalID = setInterval(this.next, this.interval);
- }
- }
- },
- mounted: function mounted() {
- var _this2 = this;
-
- this.toggleInterval(true);
- (0, _NodeList2.default)(this.$el).on('mouseenter', function () {
- return _this2.toggleInterval(false);
- }).on('mouseleave', function () {
- return _this2.toggleInterval(true);
- });
- },
- beforeDestroy: function beforeDestroy() {
- this.toggleInterval(false);
- (0, _NodeList2.default)(this.$el).off('mouseenter mouseleave');
- }
- }; //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
-/***/ }),
-/* 94 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- staticClass: "carousel slide",
- attrs: {
- "data-ride": "carousel"
- }
- }, [_c('ol', {
- directives: [{
- name: "show",
- rawName: "v-show",
- value: (_vm.indicators),
- expression: "indicators"
- }],
- staticClass: "carousel-indicators"
- }, _vm._l((_vm.indicator_list), function(indicator, i) {
- return _c('li', {
- class: {
- active: i === _vm.index
- },
- on: {
- "click": function($event) {
- _vm.indicatorClick(i)
- }
- }
- }, [_c('span')])
- })), _vm._v(" "), _c('div', {
- staticClass: "carousel-inner",
- attrs: {
- "role": "listbox"
- }
- }, [_vm._t("default")], 2), _vm._v(" "), _c('div', {
- directives: [{
- name: "show",
- rawName: "v-show",
- value: (_vm.controls),
- expression: "controls"
- }],
- staticClass: "carousel-controls hidden-xs"
- }, [_c('a', {
- staticClass: "left carousel-control",
- attrs: {
- "role": "button"
- },
- on: {
- "click": _vm.prev
- }
- }, [_c('span', {
- staticClass: "glyphicon glyphicon-chevron-left",
- attrs: {
- "aria-hidden": "true"
- }
- })]), _vm._v(" "), _c('a', {
- staticClass: "right carousel-control",
- attrs: {
- "role": "button"
- },
- on: {
- "click": _vm.next
- }
- }, [_c('span', {
- staticClass: "glyphicon glyphicon-chevron-right",
- attrs: {
- "aria-hidden": "true"
- }
- })])])])
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-f20442cc", module.exports)
- }
- }
-
-/***/ }),
-/* 95 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(96)
-
- /* script */
- __vue_exports__ = __webpack_require__(98)
-
- /* template */
- var __vue_template__ = __webpack_require__(99)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Checkbox.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
- __vue_options__._scopeId = "data-v-841aa106"
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-841aa106", __vue_options__)
- } else {
- hotAPI.reload("data-v-841aa106", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Checkbox.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 96 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 98 */
-/***/ (function(module, exports) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
- exports.default = {
- props: {
- button: { type: Boolean, default: false },
- disabled: { type: Boolean, default: false },
- falseValue: { default: false },
- name: { type: String, default: null },
- readonly: { type: Boolean, default: false },
- trueValue: { default: true },
- type: { type: String, default: null },
- value: { default: false }
- },
- data: function data() {
- return {
- checked: this.value === this.trueValue
- };
- },
-
- computed: {
- inGroup: function inGroup() {
- return this.$parent && this.$parent.btnGroup && !this.$parent._radioGroup;
- },
- isButton: function isButton() {
- return this.button || this.$parent && this.$parent.btnGroup && this.$parent.buttons;
- },
- isFalse: function isFalse() {
- return this.value === this.falseValue;
- },
- isTrue: function isTrue() {
- return this.value === this.trueValue;
- },
- parentValue: function parentValue() {
- return this.$parent.val;
- },
- typeColor: function typeColor() {
- return this.type || this.$parent && this.$parent.type || 'default';
- }
- },
- watch: {
- checked: function checked(val, old) {
- var value = val ? this.trueValue : this.falseValue;
- this.$emit('checked', val);
- this.$emit('input', value);
- this.updateParent();
- },
- parentValue: function parentValue(val) {
- this.updateFromParent();
- },
- value: function value(val, old) {
- var checked = val === this.trueValue;
- if (this.checked !== checked) {
- this.checked = checked;
- }
- }
- },
- created: function created() {
- if (this.inGroup) {
- var parent = this.$parent;
- parent._checkboxGroup = true;
- if (!(parent.val instanceof Array)) {
- parent.val = [];
- }
- }
- },
- mounted: function mounted() {
- this.updateFromParent();
- },
-
- methods: {
- // called @ mounted(), or whenever $parent.val changes
- // sync our state with the $parent.val
- updateFromParent: function updateFromParent() {
- if (this.inGroup) {
- var index = this.$parent.val.indexOf(this.trueValue);
- this.checked = ~index;
- }
- },
-
- // called when our checked state changes
- updateParent: function updateParent() {
- if (this.inGroup) {
- var index = this.$parent.val.indexOf(this.trueValue);
- if (this.checked && !~index) this.$parent.val.push(this.trueValue);
- if (!this.checked && ~index) this.$parent.val.splice(index, 1);
- }
- },
- toggle: function toggle() {
- if (this.disabled || this.readonly) {
- return;
- }
- this.checked = !this.checked;
- }
- }
- };
-
-/***/ }),
-/* 99 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c(_vm.isButton ? 'a' : 'label', {
- tag: "a",
- class: [_vm.isButton ? 'btn btn-' + _vm.typeColor : 'open checkbox ' + _vm.typeColor, {
- active: _vm.checked,
- disabled: _vm.disabled,
- readonly: _vm.readonly
- }],
- on: {
- "click": _vm.toggle
- }
- }, [(_vm.name) ? _c('input', {
- attrs: {
- "type": "hidden",
- "name": _vm.name
- },
- domProps: {
- "value": _vm.checked ? _vm.trueValue : _vm.falseValue
- }
- }) : _vm._e(), _vm._v(" "), (!_vm.isButton) ? _c('span', {
- staticClass: "icon dropdown-toggle",
- class: [_vm.checked ? 'btn-' + _vm.typeColor : '', {
- bg: _vm.typeColor === 'default'
- }]
- }) : _vm._e(), _vm._v(" "), (!_vm.isButton && _vm.checked && _vm.typeColor === 'default') ? _c('span', {
- staticClass: "icon"
- }) : _vm._e(), _vm._v(" "), _vm._t("default")], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-841aa106", module.exports)
- }
- }
-
-/***/ }),
-/* 100 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(101)
-
- /* script */
- __vue_exports__ = __webpack_require__(103)
-
- /* template */
- var __vue_template__ = __webpack_require__(104)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Datepicker.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-afde6714", __vue_options__)
- } else {
- hotAPI.reload("data-v-afde6714", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Datepicker.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 101 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 103 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _utils = __webpack_require__(65);
-
- // import $ from './utils/NodeList.js'
-
- exports.default = {
- props: {
- value: { type: String },
- format: { default: 'MM/dd/yyyy' },
- disabledDaysOfWeek: { type: Array, default: function _default() {
- return [];
- }
- },
- width: { type: String },
- clearButton: { type: Boolean, default: false },
- lang: { type: String, default: navigator.language },
- name: { type: String },
- placeholder: { type: String },
- iconsFont: { type: String, default: 'glyphicon' }
- },
- data: function data() {
- return {
- currDate: new Date(),
- dateRange: [],
- decadeRange: [],
- displayDayView: false,
- displayMonthView: false,
- displayYearView: false,
- val: this.value
- };
- },
-
- watch: {
- currDate: function currDate() {
- this.getDateRange();
- },
- format: function format() {
- this.val = this.stringify(this.currDate);
- },
- val: function val(_val, old) {
- this.$emit('input', _val);
- },
- value: function value(val) {
- if (this.val !== val) {
- this.val = val;
- }
- }
- },
- computed: {
- text: function text() {
- return (0, _utils.translations)(this.lang);
- },
- preBtnClasses: function preBtnClasses() {
- return 'datepicker-preBtn ' + this.iconsFont + ' ' + this.iconsFont + '-chevron-left';
- },
- nextBtnClasses: function nextBtnClasses() {
- return 'datepicker-nextBtn ' + this.iconsFont + ' ' + this.iconsFont + '-chevron-right';
- },
- disabledDaysArray: function disabledDaysArray() {
- return this.disabledDaysOfWeek.map(function (d) {
- return parseInt(d, 10);
- });
- }
- },
- methods: {
- close: function close() {
- this.displayDayView = this.displayMonthView = this.displayYearView = false;
- },
- inputClick: function inputClick() {
- this.currDate = this.parse(this.val) || this.parse(new Date());
- if (this.displayMonthView || this.displayYearView) {
- this.displayDayView = false;
- } else {
- this.displayDayView = !this.displayDayView;
- }
- },
- preNextDecadeClick: function preNextDecadeClick(flag) {
- var year = this.currDate.getFullYear();
- var months = this.currDate.getMonth();
- var date = this.currDate.getDate();
-
- if (flag === 0) {
- this.currDate = new Date(year - 10, months, date);
- } else {
- this.currDate = new Date(year + 10, months, date);
- }
- },
- preNextMonthClick: function preNextMonthClick(flag) {
- var year = this.currDate.getFullYear();
- var month = this.currDate.getMonth();
- var date = this.currDate.getDate();
-
- if (flag === 0) {
- var preMonth = this.getYearMonth(year, month - 1);
- this.currDate = new Date(preMonth.year, preMonth.month, date);
- } else {
- var nextMonth = this.getYearMonth(year, month + 1);
- this.currDate = new Date(nextMonth.year, nextMonth.month, date);
- }
- },
- preNextYearClick: function preNextYearClick(flag) {
- var year = this.currDate.getFullYear();
- var months = this.currDate.getMonth();
- var date = this.currDate.getDate();
-
- if (flag === 0) {
- this.currDate = new Date(year - 1, months, date);
- } else {
- this.currDate = new Date(year + 1, months, date);
- }
- },
- yearSelect: function yearSelect(year) {
- this.displayYearView = false;
- this.displayMonthView = true;
- this.currDate = new Date(year, this.currDate.getMonth(), this.currDate.getDate());
- },
- daySelect: function daySelect(day) {
- if (day.sclass === 'datepicker-item-disable') {
- return false;
- } else {
- this.currDate = day.date;
- this.val = this.stringify(this.currDate);
- this.displayDayView = false;
- }
- },
- switchMonthView: function switchMonthView() {
- this.displayDayView = false;
- this.displayMonthView = true;
- },
- switchDecadeView: function switchDecadeView() {
- this.displayMonthView = false;
- this.displayYearView = true;
- },
- monthSelect: function monthSelect(index) {
- this.displayMonthView = false;
- this.displayDayView = true;
- this.currDate = new Date(this.currDate.getFullYear(), index, this.currDate.getDate());
- },
- getYearMonth: function getYearMonth(year, month) {
- if (month > 11) {
- year++;
- month = 0;
- } else if (month < 0) {
- year--;
- month = 11;
- }
- return { year: year, month: month };
- },
- stringifyDecadeHeader: function stringifyDecadeHeader(date) {
- var yearStr = date.getFullYear().toString();
- var firstYearOfDecade = yearStr.substring(0, yearStr.length - 1) + 0;
- var lastYearOfDecade = parseInt(firstYearOfDecade, 10) + 10;
- return firstYearOfDecade + '-' + lastYearOfDecade;
- },
- stringifyDayHeader: function stringifyDayHeader(date) {
- return this.text.months[date.getMonth()] + ' ' + date.getFullYear();
- },
- parseMonth: function parseMonth(date) {
- return this.text.months[date.getMonth()];
- },
- stringifyYearHeader: function stringifyYearHeader(date) {
- return date.getFullYear();
- },
- stringify: function stringify(date) {
- var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.format;
-
- if (!date) date = this.parse();
- if (!date) return '';
- var year = date.getFullYear();
- var month = date.getMonth() + 1;
- var day = date.getDate();
- var monthName = this.parseMonth(date);
- return format.replace(/yyyy/g, year).replace(/yy/g, year).replace(/MMMM/g, monthName).replace(/MMM/g, monthName.substring(0, 3)).replace(/MM/g, ('0' + month).slice(-2)).replace(/M(?!a)/g, month).replace(/dd/g, ('0' + day).slice(-2)).replace(/d/g, day);
- },
- parse: function parse(str) {
- if (str === undefined || str === null) {
- str = this.val;
- }
- var date = str.length === 10 && (this.format === 'dd-MM-yyyy' || this.format === 'dd/MM/yyyy' || this.format === 'dd.MM.yyyy') ? new Date(str.substring(6, 10), str.substring(3, 5) - 1, str.substring(0, 2)) : new Date(str);
- return isNaN(date.getFullYear()) ? new Date() : date;
- },
- getDayCount: function getDayCount(year, month) {
- var dict = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
- if (month === 1) {
- if (year % 400 === 0 || year % 4 === 0 && year % 100 !== 0) {
- return 29;
- }
- }
- return dict[month];
- },
- getDateRange: function getDateRange() {
- this.dateRange = [];
- this.decadeRange = [];
- var time = {
- year: this.currDate.getFullYear(),
- month: this.currDate.getMonth(),
- day: this.currDate.getDate()
- };
- var yearStr = time.year.toString();
- var firstYearOfDecade = yearStr.substring(0, yearStr.length - 1) + 0 - 1;
- for (var i = 0; i < 12; i++) {
- this.decadeRange.push({
- text: firstYearOfDecade + i
- });
- }
-
- var currMonthFirstDay = new Date(time.year, time.month, 1);
- var firstDayWeek = currMonthFirstDay.getDay() + 1;
- if (firstDayWeek === 0) {
- firstDayWeek = 7;
- }
- var dayCount = this.getDayCount(time.year, time.month);
- if (firstDayWeek > 1) {
- var preMonth = this.getYearMonth(time.year, time.month - 1);
- var prevMonthDayCount = this.getDayCount(preMonth.year, preMonth.month);
- for (var _i = 1; _i < firstDayWeek; _i++) {
- var dayText = prevMonthDayCount - firstDayWeek + _i + 1;
- var date = new Date(preMonth.year, preMonth.month, dayText);
- var sclass = 'datepicker-item-gray';
- if (this.disabledDaysArray.indexOf(date.getDay()) > -1) {
- sclass = 'datepicker-item-disable';
- }
- this.dateRange.push({ text: dayText, date: date, sclass: sclass });
- }
- }
-
- for (var _i2 = 1; _i2 <= dayCount; _i2++) {
- var _date = new Date(time.year, time.month, _i2);
- var _sclass = '';
- if (this.disabledDaysArray.indexOf(_date.getDay()) > -1) {
- _sclass = 'datepicker-item-disable';
- }
- if (_i2 == time.day && _date.getFullYear() == time.year && _date.getMonth() == time.month) {
- _sclass = 'datepicker-dateRange-item-active';
- }
- this.dateRange.push({ text: _i2, date: _date, sclass: _sclass });
- }
-
- if (this.dateRange.length < 42) {
- var nextMonthNeed = 42 - this.dateRange.length;
- var nextMonth = this.getYearMonth(time.year, time.month + 1);
-
- for (var _i3 = 1; _i3 <= nextMonthNeed; _i3++) {
- var _date2 = new Date(nextMonth.year, nextMonth.month, _i3);
- var _sclass2 = 'datepicker-item-gray';
- if (this.disabledDaysArray.indexOf(_date2.getDay()) > -1) {
- _sclass2 = 'datepicker-item-disable';
- }
- this.dateRange.push({ text: _i3, date: _date2, sclass: _sclass2 });
- }
- }
- }
- },
- mounted: function mounted() {
- var _this = this;
-
- this.$emit('child-created', this);
- this.currDate = this.parse(this.val) || this.parse(new Date());
- this._blur = function (e) {
- if (!_this.$el.contains(e.target)) _this.close();
- };
- window.addEventListener('click', this._blur);
- },
- beforeDestroy: function beforeDestroy() {
- window.removeEventListener('click', this._blur);
- }
- }; //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
-/***/ }),
-/* 104 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- staticClass: "datepicker"
- }, [_c('input', {
- directives: [{
- name: "model",
- rawName: "v-model",
- value: (_vm.val),
- expression: "val"
- }],
- staticClass: "form-control datepicker-input",
- class: {
- 'with-reset-button': _vm.clearButton
- },
- style: ({
- width: _vm.width
- }),
- attrs: {
- "type": "text",
- "name": _vm.name,
- "placeholder": _vm.placeholder
- },
- domProps: {
- "value": (_vm.val)
- },
- on: {
- "click": _vm.inputClick,
- "input": function($event) {
- if ($event.target.composing) { return; }
- _vm.val = $event.target.value
- }
- }
- }), _vm._v(" "), (_vm.clearButton && _vm.val) ? _c('button', {
- staticClass: "close",
- attrs: {
- "type": "button"
- },
- on: {
- "click": function($event) {
- _vm.val = ''
- }
- }
- }, [_c('span', [_vm._v("×")])]) : _vm._e(), _vm._v(" "), _c('div', {
- directives: [{
- name: "show",
- rawName: "v-show",
- value: (_vm.displayDayView),
- expression: "displayDayView"
- }],
- staticClass: "datepicker-popup"
- }, [_c('div', {
- staticClass: "datepicker-inner"
- }, [_c('div', {
- staticClass: "datepicker-body"
- }, [_c('div', {
- staticClass: "datepicker-ctrl"
- }, [_c('span', {
- class: _vm.preBtnClasses,
- attrs: {
- "aria-hidden": "true"
- },
- on: {
- "click": function($event) {
- _vm.preNextMonthClick(0)
- }
- }
- }), _vm._v(" "), _c('span', {
- class: _vm.nextBtnClasses,
- attrs: {
- "aria-hidden": "true"
- },
- on: {
- "click": function($event) {
- _vm.preNextMonthClick(1)
- }
- }
- }), _vm._v(" "), _c('p', {
- on: {
- "click": _vm.switchMonthView
- }
- }, [_vm._v(_vm._s(_vm.stringifyDayHeader(_vm.currDate)))])]), _vm._v(" "), _c('div', {
- staticClass: "datepicker-weekRange"
- }, _vm._l((_vm.text.daysOfWeek), function(w) {
- return _c('span', [_vm._v(_vm._s(w))])
- })), _vm._v(" "), _c('div', {
- staticClass: "datepicker-dateRange"
- }, _vm._l((_vm.dateRange), function(d) {
- return _c('span', {
- class: d.sclass,
- on: {
- "click": function($event) {
- _vm.daySelect(d)
- }
- }
- }, [_vm._v(_vm._s(d.text))])
- }))])])]), _vm._v(" "), _c('div', {
- directives: [{
- name: "show",
- rawName: "v-show",
- value: (_vm.displayMonthView),
- expression: "displayMonthView"
- }],
- staticClass: "datepicker-popup"
- }, [_c('div', {
- staticClass: "datepicker-inner"
- }, [_c('div', {
- staticClass: "datepicker-body"
- }, [_c('div', {
- staticClass: "datepicker-ctrl"
- }, [_c('span', {
- class: _vm.preBtnClasses,
- attrs: {
- "aria-hidden": "true"
- },
- on: {
- "click": function($event) {
- _vm.preNextYearClick(0)
- }
- }
- }), _vm._v(" "), _c('span', {
- class: _vm.nextBtnClasses,
- attrs: {
- "aria-hidden": "true"
- },
- on: {
- "click": function($event) {
- _vm.preNextYearClick(1)
- }
- }
- }), _vm._v(" "), _c('p', {
- on: {
- "click": _vm.switchDecadeView
- }
- }, [_vm._v(_vm._s(_vm.stringifyYearHeader(_vm.currDate)))])]), _vm._v(" "), _c('div', {
- staticClass: "datepicker-monthRange"
- }, [_vm._l((_vm.text.months), function(m, index) {
- return [_c('span', {
- class: {
- 'datepicker-dateRange-item-active':
- (_vm.text.months[_vm.parse(_vm.val).getMonth()] === m) &&
- _vm.currDate.getFullYear() === _vm.parse(_vm.val).getFullYear()
- },
- domProps: {
- "textContent": _vm._s(m.substr(0, 3))
- },
- on: {
- "click": function($event) {
- _vm.monthSelect(index)
- }
- }
- })]
- })], 2)])])]), _vm._v(" "), _c('div', {
- directives: [{
- name: "show",
- rawName: "v-show",
- value: (_vm.displayYearView),
- expression: "displayYearView"
- }],
- staticClass: "datepicker-popup"
- }, [_c('div', {
- staticClass: "datepicker-inner"
- }, [_c('div', {
- staticClass: "datepicker-body"
- }, [_c('div', {
- staticClass: "datepicker-ctrl"
- }, [_c('span', {
- class: _vm.preBtnClasses,
- attrs: {
- "aria-hidden": "true"
- },
- on: {
- "click": function($event) {
- _vm.preNextDecadeClick(0)
- }
- }
- }), _vm._v(" "), _c('span', {
- class: _vm.nextBtnClasses,
- attrs: {
- "aria-hidden": "true"
- },
- on: {
- "click": function($event) {
- _vm.preNextDecadeClick(1)
- }
- }
- }), _vm._v(" "), _c('p', [_vm._v(_vm._s(_vm.stringifyDecadeHeader(_vm.currDate)))])]), _vm._v(" "), _c('div', {
- staticClass: "datepicker-monthRange decadeRange"
- }, [_vm._l((_vm.decadeRange), function(decade) {
- return [_c('span', {
- class: {
- 'datepicker-dateRange-item-active': _vm.parse(_vm.val).getFullYear() === decade.text
- },
- domProps: {
- "textContent": _vm._s(decade.text)
- },
- on: {
- "click": function($event) {
- $event.stopPropagation();
- _vm.yearSelect(decade.text)
- }
- }
- })]
- })], 2)])])])])
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-afde6714", module.exports)
- }
- }
-
-/***/ }),
-/* 105 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* script */
- __vue_exports__ = __webpack_require__(106)
-
- /* template */
- var __vue_template__ = __webpack_require__(107)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Dropdown.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-e2e3fe6a", __vue_options__)
- } else {
- hotAPI.reload("data-v-e2e3fe6a", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Dropdown.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 106 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _NodeList = __webpack_require__(1);
-
- var _NodeList2 = _interopRequireDefault(_NodeList);
-
- var _ClickOutside = __webpack_require__(66);
-
- var _ClickOutside2 = _interopRequireDefault(_ClickOutside);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
- exports.default = {
- directives: {
- ClickOutside: _ClickOutside2.default
- },
- props: {
- disabled: { type: Boolean, default: false },
- size: { type: String, default: null },
- text: { type: String, default: null },
- type: { type: String, default: 'default' },
- value: { type: Boolean, default: false }
- },
- data: function data() {
- var show = this.value;
- return { show: show };
- },
-
- watch: {
- show: function show(val) {
- this.$emit('input', val);
- },
- value: function value(val) {
- this.show = val;
- }
- },
- computed: {
- buttonSize: function buttonSize() {
- return ~['lg', 'sm', 'xs'].indexOf(this.size) ? 'btn-' + this.size : '';
- },
- inInput: function inInput() {
- return this.$parent._input;
- },
- isLi: function isLi() {
- return this.$parent._isTabs || this.$parent._navbar || this.$parent.menu;
- },
- menu: function menu() {
- return !this.$parent || this.$parent.navbar;
- },
- slots: function slots() {
- return this._slotContents;
- },
- submenu: function submenu() {
- return this.$parent && (this.$parent.menu || this.$parent.submenu);
- }
- },
- methods: {
- blur: function blur() {
- this.show = false;
- },
- toggle: function toggle() {
- if (!this.disabled) {
- this.show = !this.show;
- }
- }
- },
- mounted: function mounted() {
- var _this = this;
-
- (0, _NodeList2.default)('ul', this.$el).on('click', 'li>a', function (e) {
- _this.show = false;
- });
- },
- beforeDestroy: function beforeDestroy() {
- (0, _NodeList2.default)('ul', this.$el).off();
- }
- };
-
-/***/ }),
-/* 107 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c(_vm.isLi ? 'li' : 'div', {
- directives: [{
- name: "click-outside",
- rawName: "v-click-outside",
- value: (_vm.blur),
- expression: "blur"
- }],
- tag: "div",
- class: [{
- open: _vm.show,
- disabled: _vm.disabled,
- dropdown: _vm.isLi,
- 'input-group-btn': _vm.inInput,
- 'btn-group': !_vm.isLi && !_vm.inInput
- }]
- }, [_vm._t("before"), _vm._v(" "), (_vm.isLi) ? _c('a', {
- class: ['dropdown-toggle', _vm.buttonSize, {
- disabled: _vm.disabled
- }],
- attrs: {
- "role": "button"
- },
- on: {
- "keyup": function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "esc", 27)) { return null; }
- _vm.show = false
- },
- "click": function($event) {
- $event.preventDefault();
- _vm.toggle($event)
- }
- }
- }, [_vm._t("button", [_vm._v(_vm._s(_vm.text))]), _vm._v(" "), _c('span', {
- staticClass: "caret"
- })], 2) : _c('button', {
- class: ['btn btn-' + _vm.type, _vm.buttonSize, 'dropdown-toggle'],
- attrs: {
- "type": "button",
- "disabled": _vm.disabled
- },
- on: {
- "keyup": function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "esc", 27)) { return null; }
- _vm.show = false
- },
- "click": function($event) {
- $event.preventDefault();
- _vm.toggle($event)
- }
- }
- }, [_vm._t("button", [_vm._v(_vm._s(_vm.text))]), _vm._v(" "), _c('span', {
- staticClass: "caret"
- })], 2), _vm._v(" "), _vm._t("dropdown-menu", [_c('ul', {
- staticClass: "dropdown-menu"
- }, [_vm._t("default")], 2)])], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-e2e3fe6a", module.exports)
- }
- }
-
-/***/ }),
-/* 108 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* script */
- __vue_exports__ = __webpack_require__(109)
-
- /* template */
- var __vue_template__ = __webpack_require__(110)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/FormGroup.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-81cd4a5e", __vue_options__)
- } else {
- hotAPI.reload("data-v-81cd4a5e", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] FormGroup.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 109 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _NodeList = __webpack_require__(1);
-
- var _NodeList2 = _interopRequireDefault(_NodeList);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- // let coerce = {
- // enterSubmit: 'boolean',
- // icon: 'boolean'
- // }
-
- exports.default = {
- props: {
- enterSubmit: {
- type: Boolean,
- default: false
- },
- icon: {
- type: Boolean,
- default: false
- },
- lang: {
- type: String,
- default: navigator.language
- }
- },
- data: function data() {
- return {
- children: [],
- valid: null,
- timeout: null
- };
- },
-
- watch: {
- valid: function valid(val, old) {
- this.$emit('isvalid', val);
- this.$emit(!val ? 'invalid' : 'valid');
- if (val !== old && this._parent) this._parent.validate();
- }
- },
- methods: {
- validate: function validate() {
- var valid = true;
- this.children.some(function (el) {
- var v = el.validate ? el.validate() : el.valid !== undefined ? el.valid : el.required && !~['', null, undefined].indexOf(el.value);
- if (!v) valid = false;
- return !valid;
- });
- this.valid = valid;
- return valid === true;
- }
- },
- created: function created() {
- this._formGroup = true;
- var parent = this.$parent;
- while (parent && !parent._formGroup) {
- parent = parent.$parent;
- }
- if (parent && parent._formGroup) {
- parent.children.push(this);
- this._parent = parent;
- }
- },
- mounted: function mounted() {
- this.validate();
- },
- beforeDestroy: function beforeDestroy() {
- if (this._parent) {
- var index = this._parent.children.indexOf(this);
- this._parent.children.splice(index, 1);
- }
- }
- }; //
- //
-
-/***/ }),
-/* 110 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('span', [_vm._t("default")], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-81cd4a5e", module.exports)
- }
- }
-
-/***/ }),
-/* 111 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* script */
- __vue_exports__ = __webpack_require__(112)
-
- /* template */
- var __vue_template__ = __webpack_require__(113)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/FormValidator.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-1a8aa124", __vue_options__)
- } else {
- hotAPI.reload("data-v-1a8aa124", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] FormValidator.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 112 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _NodeList = __webpack_require__(1);
-
- var _NodeList2 = _interopRequireDefault(_NodeList);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- exports.default = {
- props: {
- enterSubmit: { type: Boolean, default: false },
- icon: { type: Boolean, default: false },
- lang: { type: String, default: navigator.language },
- value: null
- },
- data: function data() {
- return {
- children: [],
- valid: null,
- timeout: null
- };
- },
-
- watch: {
- valid: function valid(val, old) {
- this.$emit('isvalid', val);
- this.$emit('input', val);
- this.$emit(!val ? 'invalid' : 'valid');
- if (val !== old && this._parent) this._parent.validate();
- }
- },
- methods: {
- validate: function validate() {
- var invalid = !this.children.every(function (el) {
- return el.validate ? el.validate() : el.valid !== undefined ? el.valid : el.required && !~['', null, undefined].indexOf(el.value);
- });
- this.valid = !invalid;
- return !invalid;
- }
- },
- created: function created() {
- this._formValidator = true;
- var parent = this.$parent;
- while (parent && !parent._formValidator) {
- parent = parent.$parent;
- }
- if (parent && parent._formValidator) {
- parent.children.push(this);
- this._parent = parent;
- }
- },
- mounted: function mounted() {
- this.validate();
- },
- beforeDestroy: function beforeDestroy() {
- if (this._parent) {
- var index = this._parent.children.indexOf(this);
- this._parent.children.splice(index, 1);
- }
- }
- }; //
- //
-
-/***/ }),
-/* 113 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('span', [_vm._t("default")], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-1a8aa124", module.exports)
- }
- }
-
-/***/ }),
-/* 114 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(115)
-
- /* script */
- __vue_exports__ = __webpack_require__(117)
-
- /* template */
- var __vue_template__ = __webpack_require__(118)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Input.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
- __vue_options__._scopeId = "data-v-24ab6e00"
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-24ab6e00", __vue_options__)
- } else {
- hotAPI.reload("data-v-24ab6e00", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Input.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 115 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 117 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _utils = __webpack_require__(65);
-
- var _NodeList = __webpack_require__(1);
-
- var _NodeList2 = _interopRequireDefault(_NodeList);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
- var DELAY = 300;
-
- exports.default = {
- props: {
- clearButton: { type: Boolean, default: false },
- cols: { type: Number, default: null },
- datalist: { type: Array, default: null },
- disabled: { type: Boolean, default: false },
- enterSubmit: { type: Boolean, default: false },
- error: { type: String, default: null },
- help: { type: String, default: null },
- hideHelp: { type: Boolean, default: true },
- icon: { type: Boolean, default: false },
- label: { type: String, default: null },
- lang: { type: String, default: navigator.language },
- mask: null,
- maskDelay: { type: Number, default: 100 },
- match: { type: String, default: null },
- max: { type: String, default: null },
- maxlength: { type: Number, default: null },
- min: { type: String, default: null },
- minlength: { type: Number, default: 0 },
- name: { type: String, default: null },
- pattern: { default: null },
- placeholder: { type: String, default: null },
- readonly: { type: Boolean, default: false },
- required: { type: Boolean, default: false },
- rows: { type: Number, default: 3 },
- step: { type: Number, default: null },
- type: { type: String, default: 'text' },
- url: { type: String, default: null },
- urlMap: { type: Function, default: null },
- validationDelay: { type: Number, default: 250 },
- value: { default: null }
- },
- data: function data() {
- var val = this.value;
- return {
- options: this.datalist,
- val: val,
- valid: null,
- timeout: null
- };
- },
-
- computed: {
- canValidate: function canValidate() {
- return !this.disabled && !this.readonly && (this.required || this.regex || this.nativeValidate || this.match !== null);
- },
- errorText: function errorText() {
- var value = this.value;
- var error = [this.error];
- if (!value && this.required) error.push('(' + this.text.required.toLowerCase() + ')');
- if (value && value.length < this.minlength) error.push('(' + this.text.minLength.toLowerCase() + ': ' + this.minlength + ')');
- return error.join(' ');
- },
- id_datalist: function id_datalist() {
- if (this.type !== 'textarea' && this.datalist instanceof Array) {
- if (!this._id_datalist) {
- if (!this.$root.id_datalist) {
- this.$root.id_datalist = 0;
- }
- this._id_datalist = 'input-datalist' + this.$root.id_datalist++;
- }
- return this._id_datalist;
- }
- return null;
- },
- input: function input() {
- return this.$refs.input;
- },
- nativeValidate: function nativeValidate() {
- return (this.input || {}).checkValidity && (~['url', 'email'].indexOf(this.type.toLowerCase()) || this.min || this.max);
- },
- regex: function regex() {
- return _utils.coerce.pattern(this.pattern);
- },
- showError: function showError() {
- return this.error && this.valid === false;
- },
- showHelp: function showHelp() {
- return this.help && (!this.showError || !this.hideHelp);
- },
- text: function text() {
- return (0, _utils.translations)(this.lang);
- },
- title: function title() {
- return this.errorText || this.help || '';
- }
- },
- watch: {
- datalist: function datalist(val, old) {
- if (val !== old && val instanceof Array) {
- this.options = val;
- }
- },
- match: function match(val) {
- this.eval();
- },
- options: function options(val, old) {
- if (val !== old) this.$emit('options', val);
- },
- url: function url(val) {
- this._url();
- },
- val: function val(_val, old) {
- var _this = this;
-
- this.$emit('input', _val);
- if (_val !== old) {
- if (this.mask instanceof Function) {
- _val = this.mask(_val || '');
- if (this.val !== _val) {
- if (this._timeout.mask) clearTimeout(this._timeout.mask);
- this._timeout.mask = setTimeout(function () {
- _this.val = _val;
- }, isNaN(this.maskDelay) ? 0 : this.maskDelay);
- }
- }
- this.eval();
- }
- },
- valid: function valid(val, old) {
- this.$emit('isvalid', val);
- this.$emit(!val ? 'invalid' : 'valid');
- if (this._parent) this._parent.validate();
- },
- value: function value(val) {
- if (this.val !== val) {
- this.val = val;
- }
- }
- },
- methods: {
- attr: function attr(value) {
- return ~['', null, undefined].indexOf(value) || value instanceof Function ? null : value;
- },
- emit: function emit(e) {
- this.$emit(e.type, e.type == 'input' ? e.target.value : e);
- if (e.type === 'blur' && this.canValidate) {
- this.valid = this.validate();
- }
- },
- eval: function _eval() {
- var _this2 = this;
-
- if (this._timeout.eval) clearTimeout(this._timeout.eval);
- if (!this.canValidate) {
- this.valid = true;
- } else {
- this._timeout.eval = setTimeout(function () {
- _this2.valid = _this2.validate();
- _this2._timeout.eval = null;
- }, this.validationDelay);
- }
- },
- focus: function focus() {
- this.input.focus();
- },
- submit: function submit() {
- if (this.$parent._formValidator) {
- return this.$parent.validate();
- }
- if (this.input.form) {
- var invalids = (0, _NodeList2.default)('.form-group.validate:not(.has-success)', this.input.form);
- if (invalids.length) {
- invalids.find('input,textarea,select')[0].focus();
- } else {
- this.input.form.submit();
- }
- }
- },
- validate: function validate() {
- if (!this.canValidate) {
- return true;
- }
- var value = (this.val || '').trim();
- if (!value) {
- return !this.required;
- }
- if (this.match !== null) {
- return this.match === value;
- }
- if (value.length < this.minlength) {
- return false;
- }
- if (this.nativeValidate && !this.input.checkValidity()) {
- return false;
- }
- if (this.regex) {
- if (!(this.regex instanceof Function ? this.regex(this.val) : this.regex.test(this.val))) {
- return false;
- }
- }
- return true;
- },
- reset: function reset() {
- this.value = '';
- this.valid = null;
- if (this._timeout.mask) clearTimeout(this._timeout.mask);
- if (this._timeout.eval) clearTimeout(this._timeout.eval);
- }
- },
- created: function created() {
- this._input = true;
- this._timeout = {};
- var parent = this.$parent;
- while (parent && !parent._formValidator) {
- parent = parent.$parent;
- }
- if (parent && parent._formValidator) {
- parent.children.push(this);
- this._parent = parent;
- }
- this._url = (0, _utils.delayer)(function () {
- var _this3 = this;
-
- if (!this.url || !this.$http || this._loading) {
- return;
- }
- this._loading = true;
- this.$http.get(this.url).then(function (response) {
- var data = response.data instanceof Array ? response.data : [];
- try {
- data = JSON.parse(data);
- } catch (e) {}
- if (_this3.urlMap) {
- data = data.map(_this3.urlMap);
- }
- _this3.options = data;
- _this3.loading = false;
- }, function (response) {
- _this3.loading = false;
- });
- }, DELAY);
- if (this.url) this._url();
- },
- mounted: function mounted() {
- // $(this.input).on('focus', e => { this.$emit('focus', e) }).on('blur', e => {
- // if (this.canValidate) { this.valid = this.validate() }
- // this.$emit('blur', e)
- // })
- },
- beforeDestroy: function beforeDestroy() {
- // $(this.input).off()
- if (this._parent) {
- var index = this._parent.children.indexOf(this);
- this._parent.children.splice(index, 1);
- }
- }
- };
-
-/***/ }),
-/* 118 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- staticClass: "form-group",
- class: {
- validate: _vm.canValidate, 'has-feedback': _vm.icon, 'has-error': _vm.canValidate && _vm.valid === false, 'has-success': _vm.canValidate && _vm.valid
- }
- }, [_vm._t("label", [(_vm.label) ? _c('label', {
- staticClass: "control-label",
- on: {
- "click": _vm.focus
- }
- }, [_vm._v(_vm._s(_vm.label))]) : _vm._e()]), _vm._v(" "), (_vm.$slots.before || _vm.$slots.after) ? _c('div', {
- staticClass: "input-group"
- }, [_vm._t("before"), _vm._v(" "), _c(_vm.type == 'textarea' ? _vm.type : 'input', {
- directives: [{
- name: "model",
- rawName: "v-model",
- value: (_vm.val),
- expression: "val"
- }],
- ref: "input",
- tag: "textarea",
- staticClass: "form-control",
- attrs: {
- "cols": _vm.cols,
- "disabled": _vm.disabled,
- "list": _vm.id_datalist,
- "max": _vm.attr(_vm.max),
- "maxlength": _vm.maxlength,
- "min": _vm.attr(_vm.min),
- "name": _vm.name,
- "placeholder": _vm.placeholder,
- "readonly": _vm.readonly,
- "required": _vm.required,
- "rows": _vm.rows,
- "step": _vm.step,
- "title": _vm.attr(_vm.title),
- "type": _vm.type == 'textarea' ? null : _vm.type
- },
- domProps: {
- "value": (_vm.val)
- },
- on: {
- "blur": _vm.emit,
- "focus": _vm.emit,
- "input": [function($event) {
- if ($event.target.composing) { return; }
- _vm.val = $event.target.value
- }, _vm.emit],
- "keyup": function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "enter", 13)) { return null; }
- _vm.type != 'textarea' && _vm.enterSubmit && _vm.submit()
- }
- }
- }), _vm._v(" "), (_vm.clearButton && _vm.value) ? _c('div', {
- class: {
- icon: _vm.icon
- }
- }, [_c('span', {
- staticClass: "close",
- on: {
- "click": function($event) {
- _vm.value = ''
- }
- }
- }, [_vm._v("×")])]) : _vm._e(), _vm._v(" "), (_vm.icon) ? _c('div', {
- staticClass: "icon"
- }, [(_vm.icon && _vm.valid !== null) ? _c('span', {
- class: ['form-control-feedback glyphicon', 'glyphicon-' + (_vm.valid ? 'ok' : 'remove')],
- attrs: {
- "aria-hidden": "true"
- }
- }) : _vm._e()]) : _vm._e(), _vm._v(" "), _vm._t("after")], 2) : [_c(_vm.type == 'textarea' ? _vm.type : 'input', {
- directives: [{
- name: "model",
- rawName: "v-model",
- value: (_vm.val),
- expression: "val"
- }],
- ref: "input",
- tag: "textarea",
- staticClass: "form-control",
- attrs: {
- "cols": _vm.cols,
- "disabled": _vm.disabled,
- "list": _vm.id_datalist,
- "max": _vm.attr(_vm.max),
- "maxlength": _vm.maxlength,
- "min": _vm.attr(_vm.min),
- "name": _vm.name,
- "placeholder": _vm.placeholder,
- "readonly": _vm.readonly,
- "required": _vm.required,
- "rows": _vm.rows,
- "step": _vm.step,
- "title": _vm.attr(_vm.title),
- "type": _vm.type == 'textarea' ? null : _vm.type
- },
- domProps: {
- "value": (_vm.val)
- },
- on: {
- "blur": _vm.emit,
- "focus": _vm.emit,
- "input": [function($event) {
- if ($event.target.composing) { return; }
- _vm.val = $event.target.value
- }, _vm.emit],
- "keyup": function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "enter", 13)) { return null; }
- _vm.type != 'textarea' && _vm.enterSubmit && _vm.submit()
- }
- }
- }), _vm._v(" "), (_vm.clearButton && _vm.val) ? _c('span', {
- staticClass: "close",
- on: {
- "click": function($event) {
- _vm.val = ''
- }
- }
- }, [_vm._v("×")]) : _vm._e(), _vm._v(" "), (_vm.icon && _vm.valid !== null) ? _c('span', {
- class: ['form-control-feedback glyphicon', 'glyphicon-' + (_vm.valid ? 'ok' : 'remove')],
- attrs: {
- "aria-hidden": "true"
- }
- }) : _vm._e()], _vm._v(" "), (_vm.id_datalist) ? _c('datalist', {
- attrs: {
- "id": _vm.id_datalist
- }
- }, _vm._l((_vm.options), function(opc) {
- return _c('option', {
- domProps: {
- "value": opc
- }
- })
- })) : _vm._e(), _vm._v(" "), (_vm.showHelp) ? _c('div', {
- staticClass: "help-block",
- on: {
- "click": _vm.focus
- }
- }, [_vm._v(_vm._s(_vm.help))]) : _vm._e(), _vm._v(" "), (_vm.showError) ? _c('div', {
- staticClass: "help-block with-errors",
- on: {
- "click": _vm.focus
- }
- }, [_vm._v(_vm._s(_vm.errorText))]) : _vm._e()], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-24ab6e00", module.exports)
- }
- }
-
-/***/ }),
-/* 119 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(120)
-
- /* script */
- __vue_exports__ = __webpack_require__(122)
-
- /* template */
- var __vue_template__ = __webpack_require__(127)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Modal.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-4041e763", __vue_options__)
- } else {
- hotAPI.reload("data-v-4041e763", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Modal.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 120 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 122 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _isInteger = __webpack_require__(123);
-
- var _isInteger2 = _interopRequireDefault(_isInteger);
-
- var _utils = __webpack_require__(65);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- exports.default = {
- props: {
- backdrop: { type: Boolean, default: true },
- callback: { type: Function, default: null },
- cancelText: { type: String, default: 'Close' },
- effect: { type: String, default: null },
- large: { type: Boolean, default: false },
- okText: { type: String, default: 'Save changes' },
- small: { type: Boolean, default: false },
- title: { type: String, default: '' },
- value: { type: Boolean, required: true },
- width: { default: null }
- },
- data: function data() {
- return {
- transition: false,
- val: null
- };
- },
-
- computed: {
- optionalWidth: function optionalWidth() {
- if (this.width === null) {
- return null;
- } else if ((0, _isInteger2.default)(this.width)) {
- return this.width + 'px';
- }
- return this.width;
- }
- },
- watch: {
- transition: function transition(val, old) {
- if (val === old) {
- return;
- }
- var el = this.$el;
- var body = document.body;
- if (val) {
- //starting
- if (this.val) {
- el.querySelector('.modal-content').focus();
- el.style.display = 'block';
- setTimeout(function () {
- return el.classList.add('in');
- }, 0);
- body.classList.add('modal-open');
- if ((0, _utils.getScrollBarWidth)() !== 0) {
- body.style.paddingRight = (0, _utils.getScrollBarWidth)() + 'px';
- }
- } else {
- el.classList.remove('in');
- }
- } else {
- //ending
- this.$emit(this.val ? 'opened' : 'closed');
- if (!this.val) {
- el.style.display = 'none';
- body.style.paddingRight = null;
- body.classList.remove('modal-open');
- }
- }
- },
- val: function val(_val, old) {
- this.$emit('input', _val);
- if (old === null ? _val === true : _val !== old) this.transition = true;
- },
- value: function value(val, old) {
- if (val !== old) this.val = val;
- }
- },
- methods: {
- action: function action(val, p) {
- if (val === null) {
- return;
- }
- if (val && this.callback instanceof Function) this.callback();
- this.$emit(val ? 'ok' : 'cancel', p);
- this.val = val || false;
- }
- },
- mounted: function mounted() {
- this.val = this.value;
- }
- }; //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
-/***/ }),
-/* 123 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports = { "default": __webpack_require__(124), __esModule: true };
-
-/***/ }),
-/* 124 */
-/***/ (function(module, exports, __webpack_require__) {
-
- __webpack_require__(125);
- module.exports = __webpack_require__(7).Number.isInteger;
-
-/***/ }),
-/* 125 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // 20.1.2.3 Number.isInteger(number)
- var $export = __webpack_require__(5);
-
- $export($export.S, 'Number', {isInteger: __webpack_require__(126)});
-
-/***/ }),
-/* 126 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // 20.1.2.3 Number.isInteger(number)
- var isObject = __webpack_require__(13)
- , floor = Math.floor;
- module.exports = function isInteger(it){
- return !isObject(it) && isFinite(it) && floor(it) === it;
- };
-
-/***/ }),
-/* 127 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- class: ['modal', _vm.effect],
- attrs: {
- "role": "dialog"
- },
- on: {
- "click": function($event) {
- _vm.backdrop && _vm.action(false, 1)
- },
- "transitionend": function($event) {
- _vm.transition = false
- }
- }
- }, [_c('div', {
- class: ['modal-dialog', {
- 'modal-lg': _vm.large,
- 'modal-sm': _vm.small
- }],
- style: ({
- width: _vm.optionalWidth
- }),
- attrs: {
- "role": "document"
- },
- on: {
- "click": function($event) {
- $event.stopPropagation();
- _vm.action(null)
- }
- }
- }, [_c('div', {
- staticClass: "modal-content"
- }, [_vm._t("modal-header", [_c('div', {
- staticClass: "modal-header"
- }, [_c('button', {
- staticClass: "close",
- attrs: {
- "type": "button"
- },
- on: {
- "click": function($event) {
- _vm.action(false, 2)
- }
- }
- }, [_c('span', [_vm._v("×")])]), _vm._v(" "), _c('h4', {
- staticClass: "modal-title"
- }, [_vm._t("title", [_vm._v(_vm._s(_vm.title))])], 2)])]), _vm._v(" "), _vm._t("modal-body", [_c('div', {
- staticClass: "modal-body"
- }, [_vm._t("default")], 2)]), _vm._v(" "), _vm._t("modal-footer", [_c('div', {
- staticClass: "modal-footer"
- }, [_c('button', {
- staticClass: "btn btn-default",
- attrs: {
- "type": "button"
- },
- on: {
- "click": function($event) {
- _vm.action(false, 3)
- }
- }
- }, [_vm._v(_vm._s(_vm.cancelText))]), _vm._v(" "), _c('button', {
- staticClass: "btn btn-primary",
- attrs: {
- "type": "button"
- },
- on: {
- "click": function($event) {
- _vm.action(true, 4)
- }
- }
- }, [_vm._v(_vm._s(_vm.okText))])])])], 2)])])
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-4041e763", module.exports)
- }
- }
-
-/***/ }),
-/* 128 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* script */
- __vue_exports__ = __webpack_require__(129)
-
- /* template */
- var __vue_template__ = __webpack_require__(130)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Navbar.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-141a01ca", __vue_options__)
- } else {
- hotAPI.reload("data-v-141a01ca", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Navbar.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 129 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _NodeList = __webpack_require__(1);
-
- var _NodeList2 = _interopRequireDefault(_NodeList);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- exports.default = {
- props: {
- type: { type: String, default: 'default' },
- placement: { type: String, default: '' },
- container: { type: String, default: '' }
- },
- data: function data() {
- return {
- id: 'bs-example-navbar-collapse-1',
- collapsed: true,
- styles: {}
- };
- },
-
- computed: {
- slots: function slots() {
- return this._slotContents;
- }
- },
- methods: {
- toggleCollapse: function toggleCollapse(e) {
- e && e.preventDefault();
- this.collapsed = !this.collapsed;
- }
- },
- created: function created() {
- this._navbar = true;
- },
- mounted: function mounted() {
- var _this = this;
-
- try {
- var $dropdown = (0, _NodeList2.default)('.dropdown>[data-toggle="dropdown"]', this.$el).parent();
- if ($dropdown) {
- $dropdown.on('click', '.dropdown-toggle', function (e) {
- e.preventDefault();
- $dropdown.each(function (content) {
- if (content.contains(e.target)) content.classList.toggle('open');
- });
- }).on('click', '.dropdown-menu>li>a', function (e) {
- $dropdown.each(function (content) {
- if (content.contains(e.target)) content.classList.remove('open');
- });
- }).onBlur(function (e) {
- $dropdown.each(function (content) {
- if (!content.contains(e.target)) content.classList.remove('open');
- });
- });
- }
- } catch (ex) {
- console.log('error finding dropdown');
- }
-
- (0, _NodeList2.default)(this.$el).on('click touchstart', 'li:not(.dropdown)>a', function (e) {
- setTimeout(function () {
- _this.collapsed = true;
- }, 200);
- }).onBlur(function (e) {
- if (!_this.$el.contains(e.target)) {
- _this.collapsed = true;
- }
- });
- var height = this.$el.offsetHeight;
- if (this.placement === 'top') {
- document.body.style.paddingTop = height + 'px';
- }
- if (this.placement === 'bottom') {
- document.body.style.paddingBottom = height + 'px';
- }
- if (this.$slots.collapse) (0, _NodeList2.default)('[data-toggle="collapse"]', this.$el).on('click', function (e) {
- return _this.toggleCollapse(e);
- });
- },
- beforeDestroy: function beforeDestroy() {
- (0, _NodeList2.default)('.dropdown', this.$el).off('click').offBlur();
- if (this.$slots.collapse) (0, _NodeList2.default)('[data-toggle="collapse"]', this.$el).off('click');
- }
- }; //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
-/***/ }),
-/* 130 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('nav', {
- class: ['navbar', 'navbar-' + _vm.type, _vm.placement === 'static' ? 'navbar-static-top' : 'navbar-fixed-' + _vm.placement]
- }, [_c('div', {
- class: _vm.container === 'fluid' ? 'container-fluid' : 'container'
- }, [_c('div', {
- staticClass: "navbar-header"
- }, [(!_vm.$slots.collapse) ? _c('button', {
- staticClass: "navbar-toggle collapsed",
- attrs: {
- "type": "button",
- "aria-expanded": "false"
- },
- on: {
- "click": _vm.toggleCollapse
- }
- }, [_c('span', {
- staticClass: "sr-only"
- }, [_vm._v("Toggle navigation")]), _vm._v(" "), _c('span', {
- staticClass: "icon-bar"
- }), _vm._v(" "), _c('span', {
- staticClass: "icon-bar"
- }), _vm._v(" "), _c('span', {
- staticClass: "icon-bar"
- })]) : _vm._e(), _vm._v(" "), _vm._t("collapse"), _vm._v(" "), _vm._t("brand")], 2), _vm._v(" "), _c('div', {
- class: ['navbar-collapse', {
- collapse: _vm.collapsed
- }]
- }, [_c('ul', {
- staticClass: "nav navbar-nav"
- }, [_vm._t("default")], 2), _vm._v(" "), (_vm.$slots.left) ? _c('ul', {
- staticClass: "nav navbar-nav navbar-left"
- }, [_vm._t("left")], 2) : _vm._e(), _vm._v(" "), (_vm.$slots.right) ? _c('ul', {
- staticClass: "nav navbar-nav navbar-right"
- }, [_vm._t("right")], 2) : _vm._e()])])])
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-141a01ca", module.exports)
- }
- }
-
-/***/ }),
-/* 131 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* script */
- __vue_exports__ = __webpack_require__(132)
-
- /* template */
- var __vue_template__ = __webpack_require__(133)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Option.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-729ab3af", __vue_options__)
- } else {
- hotAPI.reload("data-v-729ab3af", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Option.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 132 */
-/***/ (function(module, exports) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- //
-
- exports.default = {
- props: { value: null },
- data: function data() {
- return { loading: true };
- },
- mounted: function mounted() {
- if (this.$parent._select) {
- if (!this.$parent.options) {
- this.$parent.options = [];
- }
- var el = {};
- el[this.$parent.optionsLabel] = this.$el.innerHTML;
- el[this.$parent.optionsValue] = this.value;
- this.$parent.options.push(el);
- this.loading = false;
- } else {
- console.warn('options only work inside a select component');
- }
- }
- };
-
-/***/ }),
-/* 133 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return (_vm.loading) ? _c('li', [_vm._t("default")], 2) : _vm._e()
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-729ab3af", module.exports)
- }
- }
-
-/***/ }),
-/* 134 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(135)
-
- /* script */
- __vue_exports__ = __webpack_require__(137)
-
- /* template */
- var __vue_template__ = __webpack_require__(138)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Panel.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-6690733a", __vue_options__)
- } else {
- hotAPI.reload("data-v-6690733a", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Panel.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 135 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 137 */
-/***/ (function(module, exports) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
- exports.default = {
- props: {
- header: { type: String },
- isOpen: { type: Boolean, default: null },
- type: { type: String, default: null }
- },
- data: function data() {
- return {
- open: this.isOpen
- };
- },
-
- watch: {
- isOpen: function isOpen(val) {
- this.open = val;
- }
- },
- computed: {
- inAccordion: function inAccordion() {
- return this.$parent && this.$parent._isAccordion;
- },
- panelType: function panelType() {
- return 'panel-' + (this.type || this.$parent && this.$parent.type || 'default');
- }
- },
- methods: {
- toggle: function toggle() {
- this.open = !this.open;
- if (this.inAccordion) {
- this.$parent.openChild(this);
- }
- },
- enter: function enter(el) {
- el.style.height = 'auto';
- var endWidth = getComputedStyle(el).height;
- el.style.height = '0px';
- el.offsetHeight; // force repaint
- el.style.height = endWidth;
- },
- afterEnter: function afterEnter(el) {
- el.style.height = 'auto';
- },
- beforeLeave: function beforeLeave(el) {
- el.style.height = getComputedStyle(el).height;
- el.offsetHeight; // force repaint
- el.style.height = '0px';
- }
- },
- created: function created() {
- if (this.isOpen === null) {
- this.open = !this.inAccordion;
- }
- }
- };
-
-/***/ }),
-/* 138 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- class: ['panel', _vm.panelType]
- }, [_c('div', {
- class: ['panel-heading', {
- 'accordion-toggle': _vm.inAccordion
- }],
- on: {
- "click": function($event) {
- $event.preventDefault();
- _vm.inAccordion && _vm.toggle()
- }
- }
- }, [_vm._t("header", [_c('h4', {
- staticClass: "panel-title"
- }, [_vm._v(_vm._s(_vm.header))])])], 2), _vm._v(" "), _c('transition', {
- attrs: {
- "name": "collapse"
- },
- on: {
- "enter": _vm.enter,
- "after-enter": _vm.afterEnter,
- "before-leave": _vm.beforeLeave
- }
- }, [(_vm.open) ? _c('div', {
- staticClass: "panel-collapse"
- }, [_c('div', {
- staticClass: "panel-body"
- }, [_vm._t("default")], 2)]) : _vm._e()])], 1)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-6690733a", module.exports)
- }
- }
-
-/***/ }),
-/* 139 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(140)
-
- /* script */
- __vue_exports__ = __webpack_require__(142)
-
- /* template */
- var __vue_template__ = __webpack_require__(144)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Popover.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-0619dfdb", __vue_options__)
- } else {
- hotAPI.reload("data-v-0619dfdb", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Popover.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 140 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 142 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _popoverMixins = __webpack_require__(143);
-
- var _popoverMixins2 = _interopRequireDefault(_popoverMixins);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- exports.default = {
- mixins: [_popoverMixins2.default],
- props: {
- trigger: { type: String, default: 'click' }
- }
- }; //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
-/***/ }),
-/* 143 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _NodeList = __webpack_require__(1);
-
- var _NodeList2 = _interopRequireDefault(_NodeList);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- exports.default = {
- props: {
- content: { type: String },
- effect: { type: String, default: 'fade' },
- header: { type: Boolean, default: true },
- placement: { type: String, default: 'top' },
- title: { type: String },
- trigger: { type: String }
- },
- data: function data() {
- return {
- top: 0,
- left: 0,
- show: false
- };
- },
-
- computed: {
- events: function events() {
- return { contextmenu: ['contextmenu'], hover: ['mouseleave', 'mouseenter'], focus: ['blur', 'focus'] }[this.trigger] || ['click'];
- }
- },
- methods: {
- beforeEnter: function beforeEnter() {
- var _this = this;
-
- this.position();
- setTimeout(function () {
- return _this.position();
- }, 30);
- },
- position: function position() {
- var _this2 = this;
-
- this.$nextTick(function () {
- var popover = _this2.$refs.popover;
- var trigger = _this2.$refs.trigger.children[0];
- switch (_this2.placement) {
- case 'top':
- _this2.left = trigger.offsetLeft - popover.offsetWidth / 2 + trigger.offsetWidth / 2;
- _this2.top = trigger.offsetTop - popover.offsetHeight;
- break;
- case 'left':
- _this2.left = trigger.offsetLeft - popover.offsetWidth;
- _this2.top = trigger.offsetTop + trigger.offsetHeight / 2 - popover.offsetHeight / 2;
- break;
- case 'right':
- _this2.left = trigger.offsetLeft + trigger.offsetWidth;
- _this2.top = trigger.offsetTop + trigger.offsetHeight / 2 - popover.offsetHeight / 2;
- break;
- case 'bottom':
- _this2.left = trigger.offsetLeft - popover.offsetWidth / 2 + trigger.offsetWidth / 2;
- _this2.top = trigger.offsetTop + trigger.offsetHeight;
- break;
- default:
- console.warn('Wrong placement prop');
- }
- popover.style.top = _this2.top + 'px';
- popover.style.left = _this2.left + 'px';
- });
- },
- toggle: function toggle(e) {
- if (e && this.trigger === 'contextmenu') e.preventDefault();
- this.show = !this.show;
- if (this.show) this.beforeEnter();
- }
- },
- mounted: function mounted() {
- var _this3 = this;
-
- var trigger = this.$refs.trigger.children[0];
- if (!trigger) return console.error('Could not find trigger v-el in your component that uses popoverMixin.');
-
- if (this.trigger === 'focus' && !~trigger.tabIndex) {
- trigger = (0, _NodeList2.default)('a,input,select,textarea,button', trigger);
- if (!trigger.length) {
- return;
- }
- }
- this.events.forEach(function (event) {
- (0, _NodeList2.default)(trigger).on(event, _this3.toggle);
- });
- },
- beforeDestroy: function beforeDestroy() {
- if (this._trigger) (0, _NodeList2.default)(this._trigger).off();
- }
- };
-
-/***/ }),
-/* 144 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('span', {
- ref: "trigger"
- }, [_vm._t("default"), _vm._v(" "), _c('transition', {
- attrs: {
- "name": _vm.effect
- }
- }, [(_vm.show) ? _c('div', {
- ref: "popover",
- class: ['popover', _vm.placement]
- }, [_c('div', {
- staticClass: "arrow"
- }), _vm._v(" "), (_vm.title) ? _c('h3', {
- staticClass: "popover-title"
- }, [_vm._t("title", [_vm._v(_vm._s(_vm.title))])], 2) : _vm._e(), _vm._v(" "), _c('div', {
- staticClass: "popover-content"
- }, [_vm._t("content", [_c('span', {
- domProps: {
- "innerHTML": _vm._s(_vm.content)
- }
- })])], 2)]) : _vm._e()])], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-0619dfdb", module.exports)
- }
- }
-
-/***/ }),
-/* 145 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* script */
- __vue_exports__ = __webpack_require__(146)
-
- /* template */
- var __vue_template__ = __webpack_require__(147)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Progressbar.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-1abcb87c", __vue_options__)
- } else {
- hotAPI.reload("data-v-1abcb87c", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Progressbar.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 146 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _utils = __webpack_require__(65);
-
- exports.default = {
- props: {
- animated: { type: Boolean, default: false },
- label: { default: false },
- now: { required: true },
- striped: { type: Boolean, default: false },
- type: { type: String }
- },
- computed: {
- labelBool: function labelBool() {
- return _utils.coerce.boolean(this.label);
- },
- nowNum: function nowNum() {
- return _utils.coerce.number(this.now);
- }
- }
- }; //
- //
- //
- //
- //
- //
- //
-
-/***/ }),
-/* 147 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- class: ['progress-bar', 'progress-bar-' + _vm.type, {
- active: _vm.animated,
- 'progress-bar-striped': _vm.striped
- }],
- style: ({
- width: _vm.nowNum + '%'
- }),
- domProps: {
- "textContent": _vm._s(_vm.labelBool ? _vm.nowNum + '%' : null)
- }
- })
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-1abcb87c", module.exports)
- }
- }
-
-/***/ }),
-/* 148 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(149)
-
- /* script */
- __vue_exports__ = __webpack_require__(151)
-
- /* template */
- var __vue_template__ = __webpack_require__(152)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Radio.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-f5ceac9e", __vue_options__)
- } else {
- hotAPI.reload("data-v-f5ceac9e", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Radio.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 149 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 151 */
-/***/ (function(module, exports) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
- exports.default = {
- props: {
- button: { type: Boolean, default: false },
- disabled: { type: Boolean, default: false },
- name: { type: String, default: null },
- readonly: { type: Boolean, default: false },
- selectedValue: { default: true },
- type: { type: String, default: null },
- value: { default: false }
- },
- data: function data() {
- return {
- check: this.value
- };
- },
-
- computed: {
- active: function active() {
- return this.check === this.selectedValue;
- },
- inGroup: function inGroup() {
- return this.$parent && this.$parent.btnGroup && !this.$parent._checkboxGroup;
- },
- parentValue: function parentValue() {
- return this.$parent.val;
- },
- buttonStyle: function buttonStyle() {
- return this.button || this.$parent && this.$parent.btnGroup && this.$parent.buttons;
- },
- typeColor: function typeColor() {
- return this.type || this.$parent && this.$parent.type || 'default';
- }
- },
- watch: {
- check: function check(val) {
- if (this.selectedValue === val) {
- this.$emit('input', val);
- this.$emit('checked', true);
- this.updateParent();
- }
- },
- parentValue: function parentValue(val) {
- this.updateFromParent();
- },
- value: function value(val) {
- if (this.selectedValue == val) {
- this.check = val;
- } else {
- this.check = false;
- }
- }
- },
- created: function created() {
- if (this.inGroup) {
- var parent = this.$parent;
- parent._radioGroup = true;
- this.updateFromParent();
- }
- },
-
- methods: {
- updateFromParent: function updateFromParent() {
- if (this.inGroup) {
- if (this.selectedValue == this.$parent.val) {
- this.check = this.selectedValue;
- } else {
- this.check = false;
- }
- }
- },
- updateParent: function updateParent() {
- if (this.inGroup) {
- if (this.selectedValue === this.check) {
- this.$parent.val = this.selectedValue;
- }
- }
- },
- focus: function focus() {
- this.$refs.input.focus();
- },
- toggle: function toggle() {
- if (this.disabled) {
- return;
- }
- this.focus();
- if (this.readonly) {
- return;
- }
- this.check = this.selectedValue;
- }
- }
- };
-
-/***/ }),
-/* 152 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c(_vm.buttonStyle ? 'label' : 'div', {
- tag: "div",
- class: [(_vm.buttonStyle ? 'btn btn-' + _vm.typeColor : 'radio ' + _vm.typeColor), {
- active: _vm.active,
- disabled: _vm.disabled,
- readonly: _vm.readonly
- }],
- on: {
- "click": function($event) {
- $event.preventDefault();
- _vm.toggle($event)
- }
- }
- }, [(_vm.buttonStyle) ? [_c('input', {
- directives: [{
- name: "show",
- rawName: "v-show",
- value: (!_vm.readonly),
- expression: "!readonly"
- }, {
- name: "model",
- rawName: "v-model",
- value: (_vm.check),
- expression: "check"
- }],
- ref: "input",
- attrs: {
- "type": "radio",
- "autocomplete": "off",
- "name": _vm.name,
- "readonly": _vm.readonly,
- "disabled": _vm.disabled
- },
- domProps: {
- "value": _vm.selectedValue,
- "checked": _vm._q(_vm.check, _vm.selectedValue)
- },
- on: {
- "__c": function($event) {
- _vm.check = _vm.selectedValue
- }
- }
- }), _vm._v(" "), _vm._t("default")] : _c('label', {
- staticClass: "open"
- }, [_c('input', {
- directives: [{
- name: "model",
- rawName: "v-model",
- value: (_vm.check),
- expression: "check"
- }],
- ref: "input",
- attrs: {
- "type": "radio",
- "autocomplete": "off",
- "name": _vm.name,
- "readonly": _vm.readonly,
- "disabled": _vm.disabled
- },
- domProps: {
- "value": _vm.selectedValue,
- "checked": _vm._q(_vm.check, _vm.selectedValue)
- },
- on: {
- "__c": function($event) {
- _vm.check = _vm.selectedValue
- }
- }
- }), _vm._v(" "), _c('span', {
- staticClass: "icon dropdown-toggle",
- class: [_vm.active ? 'btn-' + _vm.typeColor : '', {
- bg: _vm.typeColor === 'default'
- }]
- }), _vm._v(" "), (_vm.active && _vm.typeColor === 'default') ? _c('span', {
- staticClass: "icon"
- }) : _vm._e(), _vm._v(" "), _vm._t("default")], 2)], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-f5ceac9e", module.exports)
- }
- }
-
-/***/ }),
-/* 153 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(154)
-
- /* script */
- __vue_exports__ = __webpack_require__(156)
-
- /* template */
- var __vue_template__ = __webpack_require__(157)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Select.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
- __vue_options__._scopeId = "data-v-83f07694"
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-83f07694", __vue_options__)
- } else {
- hotAPI.reload("data-v-83f07694", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Select.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 154 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n\n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 156 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _utils = __webpack_require__(65);
-
- var _ClickOutside = __webpack_require__(66);
-
- var _ClickOutside2 = _interopRequireDefault(_ClickOutside);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
- var timeout = {};
- exports.default = {
- directives: {
- ClickOutside: _ClickOutside2.default
- },
- props: {
- clearButton: { type: Boolean, default: false },
- closeOnSelect: { type: Boolean, default: false },
- disabled: { type: Boolean, default: false },
- lang: { type: String, default: navigator.language },
- limit: { type: Number, default: 1024 },
- minSearch: { type: Number, default: 0 },
- multiple: { type: Boolean, default: false },
- name: { type: String, default: null },
- options: { type: Array, default: function _default() {
- return [];
- }
- },
- optionsLabel: { type: String, default: 'label' },
- optionsValue: { type: String, default: 'value' },
- parent: { default: true },
- placeholder: { type: String, default: null },
- readonly: { type: Boolean, default: null },
- required: { type: Boolean, default: null },
- search: { type: Boolean, default: false },
- searchText: { type: String, default: null },
- countText: { type: String, default: null },
- showCount: { type: Boolean, default: false },
- url: { type: String, default: null },
- value: null
- },
- data: function data() {
- return {
- list: [],
- loading: null,
- searchValue: null,
- show: false,
- notify: false,
- val: null,
- valid: null
- };
- },
-
- computed: {
- canSearch: function canSearch() {
- return this.minSearch ? this.list.length >= this.minSearch : this.search;
- },
- classes: function classes() {
- return [{ open: this.show, disabled: this.disabled }, this.class, this.isLi ? 'dropdown' : this.inInput ? 'input-group-btn' : 'btn-group'];
- },
- filteredOptions: function filteredOptions() {
- var _this = this;
-
- var search = (this.searchValue || '').toLowerCase();
- return !search ? this.list : this.list.filter(function (el) {
- return ~el[_this.optionsLabel].toLowerCase().search(search);
- });
- },
- hasParent: function hasParent() {
- return this.parent instanceof Array ? this.parent.length : this.parent;
- },
- inInput: function inInput() {
- return this.$parent._input;
- },
- isLi: function isLi() {
- return this.$parent._navbar || this.$parent.menu || this.$parent._tabset;
- },
- limitText: function limitText() {
- return this.text.limit.replace('{{limit}}', this.limit);
- },
- selected: function selected() {
- var _this2 = this;
-
- if (this.list.length === 0) {
- return '';
- }
- var sel = this.values.map(function (val) {
- return (_this2.list.find(function (o) {
- return o[_this2.optionsValue] === val;
- }) || {})[_this2.optionsLabel];
- }).filter(function (val) {
- return val !== undefined;
- });
- this.$emit('selected', sel);
- return sel.join(', ');
- },
- selectedText: function selectedText() {
- return this.countText || this.text.selected.replace('{{count}}', this.values.length);
- },
- showPlaceholder: function showPlaceholder() {
- return this.values.length === 0 || !this.hasParent ? this.placeholder || this.text.notSelected : null;
- },
- text: function text() {
- return (0, _utils.translations)(this.lang);
- },
- values: function values() {
- return this.val instanceof Array ? this.val : ~[null, undefined].indexOf(this.val) ? [] : [this.val];
- },
- valOptions: function valOptions() {
- var _this3 = this;
-
- return this.list.map(function (el) {
- return el[_this3.optionsValue];
- });
- }
- },
- watch: {
- options: function options(_options) {
- if (_options instanceof Array) this.setOptions(_options);
- },
- show: function show(val) {
- if (val) {
- this.$refs.search ? this.$refs.search.focus() : this.$refs.btn.focus();
- // onBlur(this.$refs.select, e => { this.show = false })
- } else {
- // offBlur(this.$refs.select)
- }
- },
- url: function url() {
- this.urlChanged();
- },
- valid: function valid(val, old) {
- this.$emit('isvalid', val);
- this.$emit(!val ? 'invalid' : 'valid');
- if (val !== old && this._parent) this._parent.validate();
- },
- value: function value(val, old) {
- if (val !== old) {
- this.val = val;
- }
- },
- val: function val(_val, old) {
- var _this4 = this;
-
- if (_val === undefined) {
- this.val = _val = null;
- }
- if (_val !== old) {
- this.$emit('change', _val);
- this.$emit('input', _val);
- }
- if (_val instanceof Array && _val.length > this.limit) {
- this.val = _val.slice(0, this.limit);
- this.notify = true;
- if (timeout.limit) clearTimeout(timeout.limit);
- timeout.limit = setTimeout(function () {
- timeout.limit = false;
- _this4.notify = false;
- }, 1500);
- }
- this.valid = this.validate();
- }
- },
- methods: {
- close: function close() {
- this.show = false;
- },
- checkData: function checkData() {
- if (this.multiple) {
- if (this.limit < 1) {
- this.limit = 1;
- }
- if (!(this.val instanceof Array)) {
- this.val = this.val === null || this.val === undefined ? [] : [this.val];
- }
- var values = this.valOptions;
- this.val = this.val.filter(function (el) {
- return ~values.indexOf(el);
- });
- if (this.values.length > this.limit) {
- this.val = this.val.slice(0, this.limit);
- }
- } else {
- if (!~this.valOptions.indexOf(this.val)) {
- this.val = null;
- }
- }
- },
- clear: function clear() {
- if (this.disabled || this.readonly) {
- return;
- }
- this.val = this.val instanceof Array ? [] : null;
- this.toggle();
- },
- clearSearch: function clearSearch() {
- this.searchValue = '';
- this.$refs.search.focus();
- },
- isSelected: function isSelected(v) {
- return this.values.indexOf(v) > -1;
- },
- select: function select(v) {
- if (this.val instanceof Array) {
- var newVal = this.val.slice(0);
- if (~newVal.indexOf(v)) {
- newVal.splice(newVal.indexOf(v), 1);
- } else {
- newVal.push(v);
- }
- this.val = newVal;
- if (this.closeOnSelect) {
- this.toggle();
- }
- } else {
- this.val = v;
- this.toggle();
- }
- },
- setOptions: function setOptions(options) {
- var _this5 = this;
-
- this.list = options.map(function (el) {
- if (el instanceof Object) {
- return el;
- }
- var obj = {};
- obj[_this5.optionsLabel] = el;
- obj[_this5.optionsValue] = el;
- return obj;
- });
- this.$emit('options', this.list);
- },
- toggle: function toggle() {
- if (this.disabled && !this.show) return;
- this.show = !this.show;
- if (!this.show) this.$refs.btn.focus();
- },
- urlChanged: function urlChanged() {
- var _this6 = this;
-
- if (!this.url || !this.$http) {
- return;
- }
- this.loading = true;
- this.$http.get(this.url).then(function (response) {
- var data = response.data instanceof Array ? response.data : [];
- try {
- data = JSON.parse(data);
- } catch (e) {}
- _this6.setOptions(data);
- _this6.loading = false;
- _this6.checkData();
- }, function (response) {
- _this6.loading = false;
- });
- },
- validate: function validate() {
- return !this.required ? true : this.val instanceof Array ? this.val.length > 0 : this.val !== null;
- }
- },
- created: function created() {
- this.setOptions(this.options);
- this.val = this.value;
- this._select = true;
- if (this.val === undefined || !this.parent) {
- this.val = null;
- }
- if (!this.multiple && this.val instanceof Array) {
- this.val = this.val[0];
- }
- this.checkData();
- if (this.url) this.urlChanged();
- var parent = this.$parent;
- while (parent && !parent._formValidator) {
- parent = parent.$parent;
- }
- if (parent && parent._formValidator) {
- parent.children.push(this);
- this._parent = parent;
- }
- },
- mounted: function mounted() {
- if (this._parent) this._parent.children.push(this);
- this.setOptions(this.options);
- this.val = this.value;
- this.checkData();
- },
- beforeDestroy: function beforeDestroy() {
- if (this._parent) {
- var index = this._parent.children.indexOf(this);
- this._parent.children.splice(index, 1);
- }
- }
- };
-
-/***/ }),
-/* 157 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- directives: [{
- name: "click-outside",
- rawName: "v-click-outside",
- value: (_vm.close),
- expression: "close"
- }],
- ref: "select",
- class: _vm.classes
- }, [_c('div', {
- ref: "btn",
- staticClass: "form-control dropdown-toggle",
- attrs: {
- "tabindex": "1",
- "disabled": _vm.disabled || !_vm.hasParent,
- "readonly": _vm.readonly
- },
- on: {
- "blur": function($event) {
- _vm.canSearch ? null : _vm.close()
- },
- "click": function($event) {
- _vm.toggle()
- },
- "keydown": [function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "esc", 27)) { return null; }
- $event.stopPropagation();
- $event.preventDefault();
- _vm.close($event)
- }, function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "space", 32)) { return null; }
- $event.stopPropagation();
- $event.preventDefault();
- _vm.toggle($event)
- }, function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "enter", 13)) { return null; }
- $event.stopPropagation();
- $event.preventDefault();
- _vm.toggle($event)
- }]
- }
- }, [_c('span', {
- staticClass: "btn-content",
- domProps: {
- "innerHTML": _vm._s(_vm.loading ? _vm.text.loading : _vm.showPlaceholder || (_vm.multiple && _vm.showCount ? _vm.selectedText : _vm.selected))
- }
- }), _vm._v(" "), (_vm.clearButton && _vm.values.length) ? _c('span', {
- staticClass: "close",
- on: {
- "click": function($event) {
- _vm.clear()
- }
- }
- }, [_vm._v("×")]) : _vm._e()]), _vm._v(" "), _c('select', {
- directives: [{
- name: "model",
- rawName: "v-model",
- value: (_vm.val),
- expression: "val"
- }],
- ref: "sel",
- staticClass: "secret",
- attrs: {
- "name": _vm.name,
- "multiple": _vm.multiple,
- "required": _vm.required,
- "readonly": _vm.readonly,
- "disabled": _vm.disabled
- },
- on: {
- "change": function($event) {
- var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {
- return o.selected
- }).map(function(o) {
- var val = "_value" in o ? o._value : o.value;
- return val
- });
- _vm.val = $event.target.multiple ? $$selectedVal : $$selectedVal[0]
- }
- }
- }, [(_vm.required) ? _c('option', {
- attrs: {
- "value": ""
- }
- }) : _vm._e(), _vm._v(" "), _vm._l((_vm.list), function(option) {
- return _c('option', {
- domProps: {
- "value": option[_vm.optionsValue]
- }
- }, [_vm._v(_vm._s(option[_vm.optionsLabel]))])
- })], 2), _vm._v(" "), _c('ul', {
- staticClass: "dropdown-menu"
- }, [(_vm.list.length) ? [(_vm.canSearch) ? _c('li', {
- staticClass: "bs-searchbox"
- }, [_c('input', {
- directives: [{
- name: "model",
- rawName: "v-model",
- value: (_vm.searchValue),
- expression: "searchValue"
- }],
- ref: "search",
- staticClass: "form-control",
- attrs: {
- "type": "text",
- "placeholder": _vm.searchText || _vm.text.search,
- "autocomplete": "off"
- },
- domProps: {
- "value": (_vm.searchValue)
- },
- on: {
- "keyup": function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "esc", 27)) { return null; }
- _vm.close($event)
- },
- "input": function($event) {
- if ($event.target.composing) { return; }
- _vm.searchValue = $event.target.value
- }
- }
- }), _vm._v(" "), _c('span', {
- directives: [{
- name: "show",
- rawName: "v-show",
- value: (_vm.searchValue),
- expression: "searchValue"
- }],
- staticClass: "close",
- on: {
- "click": _vm.clearSearch
- }
- }, [_vm._v("×")])]) : _vm._e(), _vm._v(" "), (_vm.required && !_vm.clearButton) ? _c('li', [_c('a', {
- on: {
- "mousedown": function($event) {
- $event.preventDefault();
- _vm.clear() && _vm.close()
- }
- }
- }, [_vm._v(_vm._s(_vm.placeholder || _vm.text.notSelected))])]) : _vm._e(), _vm._v(" "), _vm._l((_vm.filteredOptions), function(option) {
- return _c('li', {
- attrs: {
- "id": option[_vm.optionsValue]
- }
- }, [_c('a', {
- on: {
- "mousedown": function($event) {
- $event.preventDefault();
- _vm.select(option[_vm.optionsValue])
- }
- }
- }, [_c('span', {
- domProps: {
- "innerHTML": _vm._s(option[_vm.optionsLabel])
- }
- }), _vm._v(" "), _c('span', {
- directives: [{
- name: "show",
- rawName: "v-show",
- value: (_vm.isSelected(option[_vm.optionsValue])),
- expression: "isSelected(option[optionsValue])"
- }],
- staticClass: "glyphicon glyphicon-ok check-mark"
- })])])
- })] : _vm._e(), _vm._v(" "), _vm._t("default"), _vm._v(" "), (_vm.notify && !_vm.closeOnSelect) ? _c('transition', {
- attrs: {
- "name": "fadein"
- }
- }, [_c('div', {
- staticClass: "notify in"
- }, [_vm._v(_vm._s(_vm.limitText))])]) : _vm._e()], 2), _vm._v(" "), (_vm.notify && _vm.closeOnSelect) ? _c('transition', {
- attrs: {
- "name": "fadein"
- }
- }, [_c('div', {
- staticClass: "notify out"
- }, [_c('div', [_vm._v(_vm._s(_vm.limitText))])])]) : _vm._e()], 1)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-83f07694", module.exports)
- }
- }
-
-/***/ }),
-/* 158 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* script */
- __vue_exports__ = __webpack_require__(159)
-
- /* template */
- var __vue_template__ = __webpack_require__(160)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Slider.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-62aa8e1b", __vue_options__)
- } else {
- hotAPI.reload("data-v-62aa8e1b", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Slider.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 159 */
-/***/ (function(module, exports) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- //
- //
-
- exports.default = {
- computed: {
- index: function index() {
- return this.$parent.$children.indexOf(this);
- },
- show: function show() {
- return this.$parent.index === this.index;
- }
- },
- mounted: function mounted() {
- if (this.$parent.indicator_list) {
- this.$parent.indicator_list.push(this.index);
- }
-
- if (this.index === 0) {
- this.$el.classList.add('active');
- }
- }
- };
-
-/***/ }),
-/* 160 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- staticClass: "item"
- }, [_vm._t("default")], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-62aa8e1b", module.exports)
- }
- }
-
-/***/ }),
-/* 161 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(162)
-
- /* script */
- __vue_exports__ = __webpack_require__(164)
-
- /* template */
- var __vue_template__ = __webpack_require__(165)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Spinner.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-c7c14d62", __vue_options__)
- } else {
- hotAPI.reload("data-v-c7c14d62", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Spinner.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 162 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 164 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _utils = __webpack_require__(65);
-
- var MIN_WAIT = 500; // in ms
-
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
- exports.default = {
- props: {
- fixed: { type: Boolean, default: false },
- global: { type: Boolean, default: false },
- size: { type: String, default: 'md' },
- text: { type: String, default: '' },
- value: { default: false }
- },
- data: function data() {
- return {
- active: this.value,
- locked: false
- };
- },
-
- computed: {
- spinnerSize: function spinnerSize() {
- return 'spinner-' + (this.size ? this.size : 'sm');
- }
- },
- watch: {
- active: function active(val, old) {
- if (val !== old) this.$emit('input', val);
- },
- value: function value(val, old) {
- if (val !== old) {
- this[val ? 'show' : 'hide']();
- }
- }
- },
- methods: {
- hide: function hide() {
- var delay = 0;
- this.active = false;
- },
- show: function show(options) {
- if (options) {
- if (options.text) {
- this.text = options.text;
- }
- if (options.size) {
- this.size = options.size;
- }
- if (options.fixed) {
- this.fixed = options.fixed;
- }
- }
- // block scrolling when spinner is on
- this._body.style.overflowY = 'hidden';
- // activate spinner
- this._started = new Date();
- this.active = true;
- this.locked = true;
- this._unlock();
- }
- },
- created: function created() {
- this._body = document.body;
- this._bodyOverflow = document.body.style.overflowY;
- this._unlock = (0, _utils.delayer)(function () {
- this.locked = false;
- this._body.style.overflowY = this._bodyOverflow;
- }, MIN_WAIT);
- if (this.global) {
- if (!this.$root._globalSpinner) {
- this.$root._globalSpinner = true;
- var self = this;
- this._global = {
- hide: function hide() {
- self.hide();
- },
- show: function show() {
- self.show();
- }
- };
- this.$root.$on('spinner::show', this._global.show);
- this.$root.$on('spinner::hide', this._global.hide);
- }
- }
- },
- beforeDestroy: function beforeDestroy() {
- if (this._global) {
- this.$root.$off('spinner::show', this._global.show);
- this.$root.$off('spinner::hide', this._global.hide);
- delete this.$root._globalSpinner;
- }
- clearTimeout(this._spinnerAnimation);
- this._body.style.overflowY = this._bodyOverflow;
- }
- };
-
-/***/ }),
-/* 165 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- directives: [{
- name: "show",
- rawName: "v-show",
- value: (_vm.active || _vm.locked),
- expression: "active||locked"
- }],
- class: ['spinner spinner-gritcode', _vm.spinnerSize, {
- 'spinner-fixed': _vm.fixed
- }]
- }, [_c('div', {
- staticClass: "spinner-wrapper"
- }, [_c('div', {
- staticClass: "spinner-circle"
- }), _vm._v(" "), _c('div', {
- staticClass: "spinner-text"
- }, [_vm._v(_vm._s(_vm.text))])])])
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-c7c14d62", module.exports)
- }
- }
-
-/***/ }),
-/* 166 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* script */
- __vue_exports__ = __webpack_require__(167)
-
- /* template */
- var __vue_template__ = __webpack_require__(168)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Tab.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-58ac87cb", __vue_options__)
- } else {
- hotAPI.reload("data-v-58ac87cb", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Tab.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 167 */
-/***/ (function(module, exports) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- //
- //
- //
- //
-
- exports.default = {
- props: {
- disabled: { type: Boolean, default: false },
- header: { type: String }
- },
- data: function data() {
- return {
- fadein: false
- };
- },
-
- computed: {
- active: function active() {
- var _this = this;
-
- var active = !this._tabs || this._tabs.show === this;
- this.fadein = false;
- if (active) {
- setTimeout(function () {
- _this.fadein = true;
- }, 0);
- }
- return active;
- },
- index: function index() {
- return this._tabs.tabs.indexOf(this);
- },
- transition: function transition() {
- return this._tabs ? this._tabs.effect : null;
- }
- },
- created: function created() {
- this._isTab = true;
- var tabs = this;
- while (!this._tabs && tabs.$parent) {
- if (tabs._isTabGroup) {
- tabs.tabs.push(this);
- this._tabGroup = tabs;
- }
- if (tabs._isTabs) {
- tabs.tabs.push(this);
- this._tabs = tabs;
- if (!this._tabGroup) tabs.headers.push(this);
- }
- tabs = tabs.$parent;
- }
- if (!this._tabs) throw Error('tab depend on tabs.');
- },
- beforeDestroy: function beforeDestroy() {
- var _this2 = this;
-
- if (this._tabGroup) {
- this._tabGroup.tabs = this._tabGroup.tabs.filter(function (el) {
- return el !== _this2;
- });
- }
- if (this._tabs) {
- this._tabs.tabs = this._tabs.tabs.filter(function (el) {
- return el !== _this2;
- });
- }
- if (this._tabs) {
- if (this._tabs.active === this.index) {
- this._tabs.index = 0;
- }
- if (this._ingroup) {
- var id = this.$parent.tabs.indexOf(this);
- if (~id) this.$parent.tabs.splice(id, 1);
- }
- }
- if (this._tabs) {
- var _id = this._tabs.tabs.indexOf(this);
- if (~_id) this._tabs.tabs.splice(_id, 1);
- }
- }
- };
-
-/***/ }),
-/* 168 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- ref: "panel",
- class: ['tab-pane', {
- 'active fade': _vm.active,
- 'in': _vm.fadein
- }],
- attrs: {
- "role": "tabpanel"
- }
- }, [_vm._t("default")], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-58ac87cb", module.exports)
- }
- }
-
-/***/ }),
-/* 169 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(170)
-
- /* script */
- __vue_exports__ = __webpack_require__(172)
-
- /* template */
- var __vue_template__ = __webpack_require__(173)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/TabGroup.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-aa6a37b8", __vue_options__)
- } else {
- hotAPI.reload("data-v-aa6a37b8", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] TabGroup.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 170 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 172 */
-/***/ (function(module, exports) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- //
- //
-
- exports.default = {
- props: {
- disabled: { type: Boolean, default: false },
- header: { type: String }
- },
- data: function data() {
- return {
- show: false,
- tabs: []
- };
- },
-
- computed: {
- active: function active() {
- return ~this.tabs.indexOf(this._tabs.show);
- }
- },
- methods: {
- blur: function blur() {
- this.show = false;
- },
- toggle: function toggle() {
- this.show = !this.show;
- }
- },
- created: function created() {
- this._isTabGroup = true;
- if (this.$parent) {
- if (this.$parent._isTabGroup) throw Error('Can\'t nest tab-groups.');
- if (!this.$parent._isTabs) throw Error('tab-group depend on tabs.');
- }
- this._tabs = this.$parent;
- this._tabs.headers.push(this);
- }
- };
-
-/***/ }),
-/* 173 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('span', [_vm._t("default")], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-aa6a37b8", module.exports)
- }
- }
-
-/***/ }),
-/* 174 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(175)
-
- /* script */
- __vue_exports__ = __webpack_require__(177)
-
- /* template */
- var __vue_template__ = __webpack_require__(178)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Tabs.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-7edfda90", __vue_options__)
- } else {
- hotAPI.reload("data-v-7edfda90", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Tabs.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 175 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a "],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 177 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _utils = __webpack_require__(65);
-
- var _Dropdown = __webpack_require__(105);
-
- var _Dropdown2 = _interopRequireDefault(_Dropdown);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
- exports.default = {
- components: {
- dropdown: _Dropdown2.default
- },
- props: {
- // effect: {type: String, default: 'fadein'},
- justified: false,
- navStyle: { type: String, default: null },
- value: { type: Number, default: 0 }
- },
- data: function data() {
- var index = this.value || 0;
- return {
- index: index,
- headers: [],
- tabs: []
- };
- },
-
- watch: {
- index: function index(val) {
- this.$emit('active', val);
- this.$emit('input', val);
- },
- value: function value(val) {
- this.index = val;
- }
- },
- computed: {
- navStyleClass: function navStyleClass() {
- return ['nav', ~['pills', 'stacked'].indexOf(this.navStyle) ? 'nav-' + this.navStyle : 'nav-tabs', {
- 'nav-justified': _utils.coerce.boolean(this.justified),
- 'nav-pills': this.navStyle === 'stacked'
- }];
- },
- show: function show() {
- return this.tabs[this.index] || this.tabs[0];
- }
- },
- methods: {
- select: function select(tab) {
- if (!tab.disabled) {
- this.index = this.tabs.indexOf(tab);
- }
- }
- },
- created: function created() {
- this._isTabs = true;
- }
- };
-
-/***/ }),
-/* 178 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- attrs: {
- "tabs": ""
- }
- }, [_c('ul', {
- class: _vm.navStyleClass,
- attrs: {
- "role": "tablist"
- }
- }, [_vm._l((_vm.headers), function(header) {
- return [(header._isTab) ? _c('li', {
- class: {
- active: header.active, disabled: header.disabled
- },
- on: {
- "click": function($event) {
- $event.preventDefault();
- _vm.select(header)
- }
- }
- }, [_vm._t("header", [_c('a', {
- attrs: {
- "href": "#"
- },
- domProps: {
- "innerHTML": _vm._s(header.header)
- }
- })])], 2) : _vm._e(), _vm._v(" "), (header._isTabGroup) ? _c('dropdown', {
- class: {
- active: header.active
- },
- attrs: {
- "text": header.header,
- "disabled": header.disabled
- }
- }, _vm._l((header.tabs), function(tab) {
- return _c('li', {
- class: {
- disabled: tab.disabled
- }
- }, [_c('a', {
- attrs: {
- "href": "#"
- },
- on: {
- "click": function($event) {
- $event.preventDefault();
- _vm.select(tab)
- }
- }
- }, [_vm._v(_vm._s(tab.header))])])
- })) : _vm._e()]
- })], 2), _vm._v(" "), _c('div', {
- staticClass: "tab-content"
- }, [_vm._t("default")], 2)])
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-7edfda90", module.exports)
- }
- }
-
-/***/ }),
-/* 179 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* script */
- __vue_exports__ = __webpack_require__(180)
-
- /* template */
- var __vue_template__ = __webpack_require__(181)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/ToggleButton.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-1823c8e0", __vue_options__)
- } else {
- hotAPI.reload("data-v-1823c8e0", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] ToggleButton.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 180 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _utils = __webpack_require__(65);
-
- exports.default = {
- props: {
- disabled: { default: null },
- falseType: { default: null },
- name: null,
- readonly: { default: null },
- trueType: { default: 'primary' },
- value: false
- },
- data: function data() {
- return {
- active: _utils.coerce.boolean(this.value),
- types: {
- danger: 'btn-danger',
- info: 'btn-info',
- primary: 'btn-primary',
- success: 'btn-success',
- warning: 'btn-warning'
- }
- };
- },
-
- watch: {
- active: function active(val, old) {
- if (val !== old) {
- this.$emit('changed', val);
- this.$emit(val ? 'enabled' : 'disabled');
- this.$emit('input', val);
- }
- },
- value: function value(val, old) {
- if (val !== old) {
- this.active = _utils.coerce.boolean(this.value);
- }
- }
- },
- computed: {
- boolDisabled: function boolDisabled() {
- return _utils.coerce.boolean(this.disabled);
- },
- boolReadonly: function boolReadonly() {
- return _utils.coerce.boolean(this.readonly);
- },
- type: function type() {
- return this.types[this.value ? this.trueType : this.falseType] || 'btn-default';
- }
- },
- methods: {
- toggle: function toggle() {
- if (this.boolDisabled || this.boolReadonly) {
- return;
- }
- this.active = !this.active;
- }
- }
- }; //
- //
- //
- //
- //
- //
- //
- //
-
-/***/ }),
-/* 181 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('a', {
- class: ['btn', _vm.type, {
- readonly: _vm.boolReadonly
- }],
- attrs: {
- "href": "javascript:void(0)",
- "disabled": _vm.boolDisabled
- },
- on: {
- "click": _vm.toggle
- }
- }, [_c('span', {
- class: ['glyphicon', 'glyphicon-' + (_vm.value ? 'ok' : 'remove')]
- }), _vm._v(" "), _vm._t("default"), _vm._v(" "), (_vm.name) ? _c('input', {
- attrs: {
- "type": "hidden",
- "name": _vm.name
- },
- domProps: {
- "value": _vm.active ? 1 : 0
- }
- }) : _vm._e()], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-1823c8e0", module.exports)
- }
- }
-
-/***/ }),
-/* 182 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(183)
-
- /* script */
- __vue_exports__ = __webpack_require__(185)
-
- /* template */
- var __vue_template__ = __webpack_require__(186)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Tooltip.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-2aaf7239", __vue_options__)
- } else {
- hotAPI.reload("data-v-2aaf7239", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Tooltip.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 183 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a \n"],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 185 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _popoverMixins = __webpack_require__(143);
-
- var _popoverMixins2 = _interopRequireDefault(_popoverMixins);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- exports.default = {
- mixins: [_popoverMixins2.default],
- props: {
- effect: { type: String, default: 'scale' },
- trigger: { type: String, default: 'hover' }
- }
- }; //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
-/***/ }),
-/* 186 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('span', {
- ref: "trigger"
- }, [_vm._t("default"), _vm._v(" "), _c('transition', {
- attrs: {
- "name": _vm.effect
- }
- }, [(_vm.show) ? _c('div', {
- ref: "popover",
- class: ['tooltip', _vm.placement]
- }, [_c('div', {
- staticClass: "tooltip-arrow"
- }), _vm._v(" "), _c('div', {
- staticClass: "tooltip-inner"
- }, [_vm._t("content", [_c('div', {
- domProps: {
- "innerHTML": _vm._s(_vm.content)
- }
- })])], 2)]) : _vm._e()])], 2)
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-2aaf7239", module.exports)
- }
- }
-
-/***/ }),
-/* 187 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var __vue_exports__, __vue_options__
- var __vue_styles__ = {}
-
- /* styles */
- __webpack_require__(188)
-
- /* script */
- __vue_exports__ = __webpack_require__(190)
-
- /* template */
- var __vue_template__ = __webpack_require__(206)
- __vue_options__ = __vue_exports__ = __vue_exports__ || {}
- if (
- typeof __vue_exports__.default === "object" ||
- typeof __vue_exports__.default === "function"
- ) {
- if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
- __vue_options__ = __vue_exports__ = __vue_exports__.default
- }
- if (typeof __vue_options__ === "function") {
- __vue_options__ = __vue_options__.options
- }
- __vue_options__.__file = "/home/koala/projects/tusur/vue-strap/src/Typeahead.vue"
- __vue_options__.render = __vue_template__.render
- __vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-177e6b7d", __vue_options__)
- } else {
- hotAPI.reload("data-v-177e6b7d", __vue_options__)
- }
- })()}
- if (__vue_options__.functional) {console.error("[vue-loader] Typeahead.vue: functional components are not supported and should be defined in plain js files using render functions.")}
-
- module.exports = __vue_exports__
-
-
-/***/ }),
-/* 188 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // style-loader: Adds some css to the DOM by adding a "],"sourceRoot":"webpack://"}]);
-
- // exports
-
-
-/***/ }),
-/* 190 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _typeof2 = __webpack_require__(191);
-
- var _typeof3 = _interopRequireDefault(_typeof2);
-
- var _utils = __webpack_require__(65);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- var DELAY = 300; //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
-
- exports.default = {
- props: {
- async: { type: String },
- data: { type: Array },
- delay: { type: Number, default: DELAY },
- asyncKey: { type: String, default: null },
- limit: { type: Number, default: 8 },
- matchCase: { type: Boolean, default: false },
- matchStart: { type: Boolean, default: false },
- onHit: {
- type: Function,
- default: function _default(item) {
- return item;
- }
- },
- placeholder: { type: String },
- template: { type: String },
- type: { type: String, default: 'text' },
- value: { type: String, default: '' }
- },
- data: function data() {
- return {
- asign: '',
- showDropdown: false,
- noResults: true,
- current: 0,
- items: [],
- val: this.value
- };
- },
-
- computed: {
- templateComp: function templateComp() {
- return {
- template: typeof this.template === 'string' ? '' + this.template + '' : '',
- props: { item: { default: null } }
- };
- }
- },
- watch: {
- val: function val(_val, old) {
- this.$emit('input', _val);
- if (_val !== old && _val !== this.asign) this.__update();
- },
- value: function value(val) {
- if (this.val !== val) {
- this.val = val;
- }
- }
- },
- methods: {
- setItems: function setItems(data) {
- var _this = this;
-
- if (this.async) {
- this.items = this.asyncKey ? data[this.asyncKey] : data;
- this.items = this.items.slice(0, this.limit);
- } else {
- this.items = (data || []).filter(function (value) {
- if ((typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)) === 'object') {
- return true;
- }
- value = _this.matchCase ? value : value.toLowerCase();
- var query = _this.matchCase ? _this.val : _this.val.toLowerCase();
- return _this.matchStart ? value.indexOf(query) === 0 : value.indexOf(query) !== -1;
- }).slice(0, this.limit);
- }
- this.showDropdown = this.items.length > 0;
- },
- setValue: function setValue(value) {
- this.asign = value;
- this.val = value;
- this.items = [];
- this.loading = false;
- this.showDropdown = false;
- },
- reset: function reset() {
- this.setValue(null);
- },
- setActive: function setActive(index) {
- this.current = index;
- },
- isActive: function isActive(index) {
- return this.current === index;
- },
- hit: function hit(e) {
- e.preventDefault();
- this.setValue(this.onHit(this.items[this.current], this));
- },
- up: function up() {
- if (this.current > 0) {
- this.current--;
- } else {
- this.current = this.items.length - 1;
- }
- },
- down: function down() {
- if (this.current < this.items.length - 1) {
- this.current++;
- } else {
- this.current = 0;
- }
- }
- },
- created: function created() {
- this.__update = (0, _utils.delayer)(function () {
- var _this2 = this;
-
- if (!this.val) {
- this.reset();
- return;
- }
- this.asign = '';
- if (this.async) {
- (0, _utils.getJSON)(this.async + this.val).then(function (data) {
- _this2.setItems(data);
- });
- } else if (this.data) {
- this.setItems(this.data);
- }
- }, 'delay', DELAY);
- this.__update();
- }
- };
-
-/***/ }),
-/* 191 */
-/***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
-
- exports.__esModule = true;
-
- var _iterator = __webpack_require__(20);
-
- var _iterator2 = _interopRequireDefault(_iterator);
-
- var _symbol = __webpack_require__(192);
-
- var _symbol2 = _interopRequireDefault(_symbol);
-
- var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
- return typeof obj === "undefined" ? "undefined" : _typeof(obj);
- } : function (obj) {
- return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
- };
-
-/***/ }),
-/* 192 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports = { "default": __webpack_require__(193), __esModule: true };
-
-/***/ }),
-/* 193 */
-/***/ (function(module, exports, __webpack_require__) {
-
- __webpack_require__(194);
- __webpack_require__(203);
- __webpack_require__(204);
- __webpack_require__(205);
- module.exports = __webpack_require__(7).Symbol;
-
-/***/ }),
-/* 194 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
- // ECMAScript 6 symbols shim
- var global = __webpack_require__(6)
- , has = __webpack_require__(29)
- , DESCRIPTORS = __webpack_require__(15)
- , $export = __webpack_require__(5)
- , redefine = __webpack_require__(28)
- , META = __webpack_require__(195).KEY
- , $fails = __webpack_require__(16)
- , shared = __webpack_require__(43)
- , setToStringTag = __webpack_require__(47)
- , uid = __webpack_require__(44)
- , wks = __webpack_require__(48)
- , wksExt = __webpack_require__(55)
- , wksDefine = __webpack_require__(196)
- , keyOf = __webpack_require__(197)
- , enumKeys = __webpack_require__(198)
- , isArray = __webpack_require__(201)
- , anObject = __webpack_require__(12)
- , toIObject = __webpack_require__(36)
- , toPrimitive = __webpack_require__(18)
- , createDesc = __webpack_require__(19)
- , _create = __webpack_require__(32)
- , gOPNExt = __webpack_require__(60)
- , $GOPD = __webpack_require__(202)
- , $DP = __webpack_require__(11)
- , $keys = __webpack_require__(34)
- , gOPD = $GOPD.f
- , dP = $DP.f
- , gOPN = gOPNExt.f
- , $Symbol = global.Symbol
- , $JSON = global.JSON
- , _stringify = $JSON && $JSON.stringify
- , PROTOTYPE = 'prototype'
- , HIDDEN = wks('_hidden')
- , TO_PRIMITIVE = wks('toPrimitive')
- , isEnum = {}.propertyIsEnumerable
- , SymbolRegistry = shared('symbol-registry')
- , AllSymbols = shared('symbols')
- , OPSymbols = shared('op-symbols')
- , ObjectProto = Object[PROTOTYPE]
- , USE_NATIVE = typeof $Symbol == 'function'
- , QObject = global.QObject;
- // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
- var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
-
- // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
- var setSymbolDesc = DESCRIPTORS && $fails(function(){
- return _create(dP({}, 'a', {
- get: function(){ return dP(this, 'a', {value: 7}).a; }
- })).a != 7;
- }) ? function(it, key, D){
- var protoDesc = gOPD(ObjectProto, key);
- if(protoDesc)delete ObjectProto[key];
- dP(it, key, D);
- if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);
- } : dP;
-
- var wrap = function(tag){
- var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
- sym._k = tag;
- return sym;
- };
-
- var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){
- return typeof it == 'symbol';
- } : function(it){
- return it instanceof $Symbol;
- };
-
- var $defineProperty = function defineProperty(it, key, D){
- if(it === ObjectProto)$defineProperty(OPSymbols, key, D);
- anObject(it);
- key = toPrimitive(key, true);
- anObject(D);
- if(has(AllSymbols, key)){
- if(!D.enumerable){
- if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));
- it[HIDDEN][key] = true;
- } else {
- if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
- D = _create(D, {enumerable: createDesc(0, false)});
- } return setSymbolDesc(it, key, D);
- } return dP(it, key, D);
- };
- var $defineProperties = function defineProperties(it, P){
- anObject(it);
- var keys = enumKeys(P = toIObject(P))
- , i = 0
- , l = keys.length
- , key;
- while(l > i)$defineProperty(it, key = keys[i++], P[key]);
- return it;
- };
- var $create = function create(it, P){
- return P === undefined ? _create(it) : $defineProperties(_create(it), P);
- };
- var $propertyIsEnumerable = function propertyIsEnumerable(key){
- var E = isEnum.call(this, key = toPrimitive(key, true));
- if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;
- return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
- };
- var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
- it = toIObject(it);
- key = toPrimitive(key, true);
- if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;
- var D = gOPD(it, key);
- if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
- return D;
- };
- var $getOwnPropertyNames = function getOwnPropertyNames(it){
- var names = gOPN(toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i){
- if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);
- } return result;
- };
- var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
- var IS_OP = it === ObjectProto
- , names = gOPN(IS_OP ? OPSymbols : toIObject(it))
- , result = []
- , i = 0
- , key;
- while(names.length > i){
- if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);
- } return result;
- };
-
- // 19.4.1.1 Symbol([description])
- if(!USE_NATIVE){
- $Symbol = function Symbol(){
- if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');
- var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
- var $set = function(value){
- if(this === ObjectProto)$set.call(OPSymbols, value);
- if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
- setSymbolDesc(this, tag, createDesc(1, value));
- };
- if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});
- return wrap(tag);
- };
- redefine($Symbol[PROTOTYPE], 'toString', function toString(){
- return this._k;
- });
-
- $GOPD.f = $getOwnPropertyDescriptor;
- $DP.f = $defineProperty;
- __webpack_require__(61).f = gOPNExt.f = $getOwnPropertyNames;
- __webpack_require__(200).f = $propertyIsEnumerable;
- __webpack_require__(199).f = $getOwnPropertySymbols;
-
- if(DESCRIPTORS && !__webpack_require__(27)){
- redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
- }
-
- wksExt.f = function(name){
- return wrap(wks(name));
- }
- }
-
- $export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});
-
- for(var symbols = (
- // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
- 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
- ).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);
-
- for(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);
-
- $export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
- // 19.4.2.1 Symbol.for(key)
- 'for': function(key){
- return has(SymbolRegistry, key += '')
- ? SymbolRegistry[key]
- : SymbolRegistry[key] = $Symbol(key);
- },
- // 19.4.2.5 Symbol.keyFor(sym)
- keyFor: function keyFor(key){
- if(isSymbol(key))return keyOf(SymbolRegistry, key);
- throw TypeError(key + ' is not a symbol!');
- },
- useSetter: function(){ setter = true; },
- useSimple: function(){ setter = false; }
- });
-
- $export($export.S + $export.F * !USE_NATIVE, 'Object', {
- // 19.1.2.2 Object.create(O [, Properties])
- create: $create,
- // 19.1.2.4 Object.defineProperty(O, P, Attributes)
- defineProperty: $defineProperty,
- // 19.1.2.3 Object.defineProperties(O, Properties)
- defineProperties: $defineProperties,
- // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
- // 19.1.2.7 Object.getOwnPropertyNames(O)
- getOwnPropertyNames: $getOwnPropertyNames,
- // 19.1.2.8 Object.getOwnPropertySymbols(O)
- getOwnPropertySymbols: $getOwnPropertySymbols
- });
-
- // 24.3.2 JSON.stringify(value [, replacer [, space]])
- $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){
- var S = $Symbol();
- // MS Edge converts symbol values to JSON as {}
- // WebKit converts symbol values to JSON as null
- // V8 throws on boxed symbols
- return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
- })), 'JSON', {
- stringify: function stringify(it){
- if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
- var args = [it]
- , i = 1
- , replacer, $replacer;
- while(arguments.length > i)args.push(arguments[i++]);
- replacer = args[1];
- if(typeof replacer == 'function')$replacer = replacer;
- if($replacer || !isArray(replacer))replacer = function(key, value){
- if($replacer)value = $replacer.call(this, key, value);
- if(!isSymbol(value))return value;
- };
- args[1] = replacer;
- return _stringify.apply($JSON, args);
- }
- });
-
- // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
- $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
- // 19.4.3.5 Symbol.prototype[@@toStringTag]
- setToStringTag($Symbol, 'Symbol');
- // 20.2.1.9 Math[@@toStringTag]
- setToStringTag(Math, 'Math', true);
- // 24.3.3 JSON[@@toStringTag]
- setToStringTag(global.JSON, 'JSON', true);
-
-/***/ }),
-/* 195 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var META = __webpack_require__(44)('meta')
- , isObject = __webpack_require__(13)
- , has = __webpack_require__(29)
- , setDesc = __webpack_require__(11).f
- , id = 0;
- var isExtensible = Object.isExtensible || function(){
- return true;
- };
- var FREEZE = !__webpack_require__(16)(function(){
- return isExtensible(Object.preventExtensions({}));
- });
- var setMeta = function(it){
- setDesc(it, META, {value: {
- i: 'O' + ++id, // object ID
- w: {} // weak collections IDs
- }});
- };
- var fastKey = function(it, create){
- // return primitive with prefix
- if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if(!has(it, META)){
- // can't set metadata to uncaught frozen object
- if(!isExtensible(it))return 'F';
- // not necessary to add metadata
- if(!create)return 'E';
- // add missing metadata
- setMeta(it);
- // return object ID
- } return it[META].i;
- };
- var getWeak = function(it, create){
- if(!has(it, META)){
- // can't set metadata to uncaught frozen object
- if(!isExtensible(it))return true;
- // not necessary to add metadata
- if(!create)return false;
- // add missing metadata
- setMeta(it);
- // return hash weak collections IDs
- } return it[META].w;
- };
- // add metadata on freeze-family methods calling
- var onFreeze = function(it){
- if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);
- return it;
- };
- var meta = module.exports = {
- KEY: META,
- NEED: false,
- fastKey: fastKey,
- getWeak: getWeak,
- onFreeze: onFreeze
- };
-
-/***/ }),
-/* 196 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var global = __webpack_require__(6)
- , core = __webpack_require__(7)
- , LIBRARY = __webpack_require__(27)
- , wksExt = __webpack_require__(55)
- , defineProperty = __webpack_require__(11).f;
- module.exports = function(name){
- var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
- if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});
- };
-
-/***/ }),
-/* 197 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var getKeys = __webpack_require__(34)
- , toIObject = __webpack_require__(36);
- module.exports = function(object, el){
- var O = toIObject(object)
- , keys = getKeys(O)
- , length = keys.length
- , index = 0
- , key;
- while(length > index)if(O[key = keys[index++]] === el)return key;
- };
-
-/***/ }),
-/* 198 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // all enumerable object keys, includes symbols
- var getKeys = __webpack_require__(34)
- , gOPS = __webpack_require__(199)
- , pIE = __webpack_require__(200);
- module.exports = function(it){
- var result = getKeys(it)
- , getSymbols = gOPS.f;
- if(getSymbols){
- var symbols = getSymbols(it)
- , isEnum = pIE.f
- , i = 0
- , key;
- while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);
- } return result;
- };
-
-/***/ }),
-/* 199 */
-/***/ (function(module, exports) {
-
- exports.f = Object.getOwnPropertySymbols;
-
-/***/ }),
-/* 200 */
-/***/ (function(module, exports) {
-
- exports.f = {}.propertyIsEnumerable;
-
-/***/ }),
-/* 201 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // 7.2.2 IsArray(argument)
- var cof = __webpack_require__(38);
- module.exports = Array.isArray || function isArray(arg){
- return cof(arg) == 'Array';
- };
-
-/***/ }),
-/* 202 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var pIE = __webpack_require__(200)
- , createDesc = __webpack_require__(19)
- , toIObject = __webpack_require__(36)
- , toPrimitive = __webpack_require__(18)
- , has = __webpack_require__(29)
- , IE8_DOM_DEFINE = __webpack_require__(14)
- , gOPD = Object.getOwnPropertyDescriptor;
-
- exports.f = __webpack_require__(15) ? gOPD : function getOwnPropertyDescriptor(O, P){
- O = toIObject(O);
- P = toPrimitive(P, true);
- if(IE8_DOM_DEFINE)try {
- return gOPD(O, P);
- } catch(e){ /* empty */ }
- if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);
- };
-
-/***/ }),
-/* 203 */
-/***/ (function(module, exports) {
-
-
-
-/***/ }),
-/* 204 */
-/***/ (function(module, exports, __webpack_require__) {
-
- __webpack_require__(196)('asyncIterator');
-
-/***/ }),
-/* 205 */
-/***/ (function(module, exports, __webpack_require__) {
-
- __webpack_require__(196)('observable');
-
-/***/ }),
-/* 206 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- class: {
- open: _vm.showDropdown
- },
- staticStyle: {
- "position": "relative"
- }
- }, [_c('input', {
- directives: [{
- name: "model",
- rawName: "v-model",
- value: (_vm.val),
- expression: "val"
- }],
- staticClass: "form-control",
- attrs: {
- "autocomplete": "off",
- "placeholder": _vm.placeholder,
- "type": _vm.type
- },
- domProps: {
- "value": (_vm.val)
- },
- on: {
- "blur": function($event) {
- _vm.showDropdown = false
- },
- "keydown": [function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "down", 40)) { return null; }
- $event.preventDefault();
- _vm.down($event)
- }, function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "enter", 13)) { return null; }
- _vm.hit($event)
- }, function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "esc", 27)) { return null; }
- _vm.reset($event)
- }, function($event) {
- if (!('button' in $event) && _vm._k($event.keyCode, "up", 38)) { return null; }
- $event.preventDefault();
- _vm.up($event)
- }],
- "input": function($event) {
- if ($event.target.composing) { return; }
- _vm.val = $event.target.value
- }
- }
- }), _vm._v(" "), _c('ul', {
- ref: "dropdown",
- staticClass: "dropdown-menu"
- }, _vm._l((_vm.items), function(item, i) {
- return _c('li', {
- class: {
- active: _vm.isActive(i)
- }
- }, [_c('a', {
- on: {
- "mousedown": function($event) {
- $event.preventDefault();
- _vm.hit($event)
- },
- "mousemove": function($event) {
- _vm.setActive(i)
- }
- }
- }, [_c(_vm.templateComp, {
- tag: "component",
- attrs: {
- "item": item
- }
- })], 1)])
- }))])
- },staticRenderFns: []}
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-177e6b7d", module.exports)
- }
- }
-
-/***/ })
-/******/ ])
-});
-;
-//# sourceMappingURL=vue-strap.js.map
-
-/***/ }),
-/* 225 */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-/* 226 */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-/* 227 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(global, module) {var __WEBPACK_AMD_DEFINE_RESULT__;/**
- * @license
- * Lodash
- * Copyright JS Foundation and other contributors
- * Released under MIT license
- * Based on Underscore.js 1.8.3
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
-;(function() {
-
- /** Used as a safe reference for `undefined` in pre-ES5 environments. */
- var undefined;
-
- /** Used as the semantic version number. */
- var VERSION = '4.17.5';
-
- /** Used as the size to enable large array optimizations. */
- var LARGE_ARRAY_SIZE = 200;
-
- /** Error message constants. */
- var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',
- FUNC_ERROR_TEXT = 'Expected a function';
-
- /** Used to stand-in for `undefined` hash values. */
- var HASH_UNDEFINED = '__lodash_hash_undefined__';
-
- /** Used as the maximum memoize cache size. */
- var MAX_MEMOIZE_SIZE = 500;
-
- /** Used as the internal argument placeholder. */
- var PLACEHOLDER = '__lodash_placeholder__';
-
- /** Used to compose bitmasks for cloning. */
- var CLONE_DEEP_FLAG = 1,
- CLONE_FLAT_FLAG = 2,
- CLONE_SYMBOLS_FLAG = 4;
-
- /** Used to compose bitmasks for value comparisons. */
- var COMPARE_PARTIAL_FLAG = 1,
- COMPARE_UNORDERED_FLAG = 2;
-
- /** Used to compose bitmasks for function metadata. */
- var WRAP_BIND_FLAG = 1,
- WRAP_BIND_KEY_FLAG = 2,
- WRAP_CURRY_BOUND_FLAG = 4,
- WRAP_CURRY_FLAG = 8,
- WRAP_CURRY_RIGHT_FLAG = 16,
- WRAP_PARTIAL_FLAG = 32,
- WRAP_PARTIAL_RIGHT_FLAG = 64,
- WRAP_ARY_FLAG = 128,
- WRAP_REARG_FLAG = 256,
- WRAP_FLIP_FLAG = 512;
-
- /** Used as default options for `_.truncate`. */
- var DEFAULT_TRUNC_LENGTH = 30,
- DEFAULT_TRUNC_OMISSION = '...';
-
- /** Used to detect hot functions by number of calls within a span of milliseconds. */
- var HOT_COUNT = 800,
- HOT_SPAN = 16;
-
- /** Used to indicate the type of lazy iteratees. */
- var LAZY_FILTER_FLAG = 1,
- LAZY_MAP_FLAG = 2,
- LAZY_WHILE_FLAG = 3;
-
- /** Used as references for various `Number` constants. */
- var INFINITY = 1 / 0,
- MAX_SAFE_INTEGER = 9007199254740991,
- MAX_INTEGER = 1.7976931348623157e+308,
- NAN = 0 / 0;
-
- /** Used as references for the maximum length and index of an array. */
- var MAX_ARRAY_LENGTH = 4294967295,
- MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,
- HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
-
- /** Used to associate wrap methods with their bit flags. */
- var wrapFlags = [
- ['ary', WRAP_ARY_FLAG],
- ['bind', WRAP_BIND_FLAG],
- ['bindKey', WRAP_BIND_KEY_FLAG],
- ['curry', WRAP_CURRY_FLAG],
- ['curryRight', WRAP_CURRY_RIGHT_FLAG],
- ['flip', WRAP_FLIP_FLAG],
- ['partial', WRAP_PARTIAL_FLAG],
- ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],
- ['rearg', WRAP_REARG_FLAG]
- ];
-
- /** `Object#toString` result references. */
- var argsTag = '[object Arguments]',
- arrayTag = '[object Array]',
- asyncTag = '[object AsyncFunction]',
- boolTag = '[object Boolean]',
- dateTag = '[object Date]',
- domExcTag = '[object DOMException]',
- errorTag = '[object Error]',
- funcTag = '[object Function]',
- genTag = '[object GeneratorFunction]',
- mapTag = '[object Map]',
- numberTag = '[object Number]',
- nullTag = '[object Null]',
- objectTag = '[object Object]',
- promiseTag = '[object Promise]',
- proxyTag = '[object Proxy]',
- regexpTag = '[object RegExp]',
- setTag = '[object Set]',
- stringTag = '[object String]',
- symbolTag = '[object Symbol]',
- undefinedTag = '[object Undefined]',
- weakMapTag = '[object WeakMap]',
- weakSetTag = '[object WeakSet]';
-
- var arrayBufferTag = '[object ArrayBuffer]',
- dataViewTag = '[object DataView]',
- float32Tag = '[object Float32Array]',
- float64Tag = '[object Float64Array]',
- int8Tag = '[object Int8Array]',
- int16Tag = '[object Int16Array]',
- int32Tag = '[object Int32Array]',
- uint8Tag = '[object Uint8Array]',
- uint8ClampedTag = '[object Uint8ClampedArray]',
- uint16Tag = '[object Uint16Array]',
- uint32Tag = '[object Uint32Array]';
-
- /** Used to match empty string literals in compiled template source. */
- var reEmptyStringLeading = /\b__p \+= '';/g,
- reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
- reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
-
- /** Used to match HTML entities and HTML characters. */
- var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,
- reUnescapedHtml = /[&<>"']/g,
- reHasEscapedHtml = RegExp(reEscapedHtml.source),
- reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
-
- /** Used to match template delimiters. */
- var reEscape = /<%-([\s\S]+?)%>/g,
- reEvaluate = /<%([\s\S]+?)%>/g,
- reInterpolate = /<%=([\s\S]+?)%>/g;
-
- /** Used to match property names within property paths. */
- var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
- reIsPlainProp = /^\w*$/,
- rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
-
- /**
- * Used to match `RegExp`
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
- */
- var reRegExpChar = /[\\^$.*+?()[\]{}|]/g,
- reHasRegExpChar = RegExp(reRegExpChar.source);
-
- /** Used to match leading and trailing whitespace. */
- var reTrim = /^\s+|\s+$/g,
- reTrimStart = /^\s+/,
- reTrimEnd = /\s+$/;
-
- /** Used to match wrap detail comments. */
- var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,
- reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/,
- reSplitDetails = /,? & /;
-
- /** Used to match words composed of alphanumeric characters. */
- var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
-
- /** Used to match backslashes in property paths. */
- var reEscapeChar = /\\(\\)?/g;
-
- /**
- * Used to match
- * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).
- */
- var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
-
- /** Used to match `RegExp` flags from their coerced string values. */
- var reFlags = /\w*$/;
-
- /** Used to detect bad signed hexadecimal string values. */
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
-
- /** Used to detect binary string values. */
- var reIsBinary = /^0b[01]+$/i;
-
- /** Used to detect host constructors (Safari). */
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
-
- /** Used to detect octal string values. */
- var reIsOctal = /^0o[0-7]+$/i;
-
- /** Used to detect unsigned integer values. */
- var reIsUint = /^(?:0|[1-9]\d*)$/;
-
- /** Used to match Latin Unicode letters (excluding mathematical operators). */
- var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
-
- /** Used to ensure capturing order of template delimiters. */
- var reNoMatch = /($^)/;
-
- /** Used to match unescaped characters in compiled string literals. */
- var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
-
- /** Used to compose unicode character classes. */
- var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f',
- reComboHalfMarksRange = '\\ufe20-\\ufe2f',
- rsComboSymbolsRange = '\\u20d0-\\u20ff',
- rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
- rsDingbatRange = '\\u2700-\\u27bf',
- rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff',
- rsMathOpRange = '\\xac\\xb1\\xd7\\xf7',
- rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf',
- rsPunctuationRange = '\\u2000-\\u206f',
- rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000',
- rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde',
- rsVarRange = '\\ufe0e\\ufe0f',
- rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
-
- /** Used to compose unicode capture groups. */
- var rsApos = "['\u2019]",
- rsAstral = '[' + rsAstralRange + ']',
- rsBreak = '[' + rsBreakRange + ']',
- rsCombo = '[' + rsComboRange + ']',
- rsDigits = '\\d+',
- rsDingbat = '[' + rsDingbatRange + ']',
- rsLower = '[' + rsLowerRange + ']',
- rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',
- rsFitz = '\\ud83c[\\udffb-\\udfff]',
- rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
- rsNonAstral = '[^' + rsAstralRange + ']',
- rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
- rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
- rsUpper = '[' + rsUpperRange + ']',
- rsZWJ = '\\u200d';
-
- /** Used to compose unicode regexes. */
- var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',
- rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',
- rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',
- rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',
- reOptMod = rsModifier + '?',
- rsOptVar = '[' + rsVarRange + ']?',
- rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
- rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])',
- rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])',
- rsSeq = rsOptVar + reOptMod + rsOptJoin,
- rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,
- rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
-
- /** Used to match apostrophes. */
- var reApos = RegExp(rsApos, 'g');
-
- /**
- * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and
- * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).
- */
- var reComboMark = RegExp(rsCombo, 'g');
-
- /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
- var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
-
- /** Used to match complex or compound words. */
- var reUnicodeWord = RegExp([
- rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',
- rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',
- rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,
- rsUpper + '+' + rsOptContrUpper,
- rsOrdUpper,
- rsOrdLower,
- rsDigits,
- rsEmoji
- ].join('|'), 'g');
-
- /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
- var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');
-
- /** Used to detect strings that need a more robust regexp to match words. */
- var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
-
- /** Used to assign default `context` object properties. */
- var contextProps = [
- 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',
- 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',
- 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',
- 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',
- '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'
- ];
-
- /** Used to make template sourceURLs easier to identify. */
- var templateCounter = -1;
-
- /** Used to identify `toStringTag` values of typed arrays. */
- var typedArrayTags = {};
- typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
- typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
- typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
- typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
- typedArrayTags[uint32Tag] = true;
- typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
- typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
- typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
- typedArrayTags[errorTag] = typedArrayTags[funcTag] =
- typedArrayTags[mapTag] = typedArrayTags[numberTag] =
- typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
- typedArrayTags[setTag] = typedArrayTags[stringTag] =
- typedArrayTags[weakMapTag] = false;
-
- /** Used to identify `toStringTag` values supported by `_.clone`. */
- var cloneableTags = {};
- cloneableTags[argsTag] = cloneableTags[arrayTag] =
- cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
- cloneableTags[boolTag] = cloneableTags[dateTag] =
- cloneableTags[float32Tag] = cloneableTags[float64Tag] =
- cloneableTags[int8Tag] = cloneableTags[int16Tag] =
- cloneableTags[int32Tag] = cloneableTags[mapTag] =
- cloneableTags[numberTag] = cloneableTags[objectTag] =
- cloneableTags[regexpTag] = cloneableTags[setTag] =
- cloneableTags[stringTag] = cloneableTags[symbolTag] =
- cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
- cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
- cloneableTags[errorTag] = cloneableTags[funcTag] =
- cloneableTags[weakMapTag] = false;
-
- /** Used to map Latin Unicode letters to basic Latin letters. */
- var deburredLetters = {
- // Latin-1 Supplement block.
- '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A',
- '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a',
- '\xc7': 'C', '\xe7': 'c',
- '\xd0': 'D', '\xf0': 'd',
- '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E',
- '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e',
- '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I',
- '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i',
- '\xd1': 'N', '\xf1': 'n',
- '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O',
- '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o',
- '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U',
- '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u',
- '\xdd': 'Y', '\xfd': 'y', '\xff': 'y',
- '\xc6': 'Ae', '\xe6': 'ae',
- '\xde': 'Th', '\xfe': 'th',
- '\xdf': 'ss',
- // Latin Extended-A block.
- '\u0100': 'A', '\u0102': 'A', '\u0104': 'A',
- '\u0101': 'a', '\u0103': 'a', '\u0105': 'a',
- '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C',
- '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c',
- '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd',
- '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E',
- '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e',
- '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G',
- '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g',
- '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h',
- '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I',
- '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i',
- '\u0134': 'J', '\u0135': 'j',
- '\u0136': 'K', '\u0137': 'k', '\u0138': 'k',
- '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L',
- '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l',
- '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N',
- '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n',
- '\u014c': 'O', '\u014e': 'O', '\u0150': 'O',
- '\u014d': 'o', '\u014f': 'o', '\u0151': 'o',
- '\u0154': 'R', '\u0156': 'R', '\u0158': 'R',
- '\u0155': 'r', '\u0157': 'r', '\u0159': 'r',
- '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S',
- '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's',
- '\u0162': 'T', '\u0164': 'T', '\u0166': 'T',
- '\u0163': 't', '\u0165': 't', '\u0167': 't',
- '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U',
- '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u',
- '\u0174': 'W', '\u0175': 'w',
- '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y',
- '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z',
- '\u017a': 'z', '\u017c': 'z', '\u017e': 'z',
- '\u0132': 'IJ', '\u0133': 'ij',
- '\u0152': 'Oe', '\u0153': 'oe',
- '\u0149': "'n", '\u017f': 's'
- };
-
- /** Used to map characters to HTML entities. */
- var htmlEscapes = {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": '''
- };
-
- /** Used to map HTML entities to characters. */
- var htmlUnescapes = {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- ''': "'"
- };
-
- /** Used to escape characters for inclusion in compiled string literals. */
- var stringEscapes = {
- '\\': '\\',
- "'": "'",
- '\n': 'n',
- '\r': 'r',
- '\u2028': 'u2028',
- '\u2029': 'u2029'
- };
-
- /** Built-in method references without a dependency on `root`. */
- var freeParseFloat = parseFloat,
- freeParseInt = parseInt;
-
- /** Detect free variable `global` from Node.js. */
- var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
-
- /** Detect free variable `self`. */
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
-
- /** Used as a reference to the global object. */
- var root = freeGlobal || freeSelf || Function('return this')();
-
- /** Detect free variable `exports`. */
- var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
-
- /** Detect free variable `module`. */
- var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
-
- /** Detect the popular CommonJS extension `module.exports`. */
- var moduleExports = freeModule && freeModule.exports === freeExports;
-
- /** Detect free variable `process` from Node.js. */
- var freeProcess = moduleExports && freeGlobal.process;
-
- /** Used to access faster Node.js helpers. */
- var nodeUtil = (function() {
- try {
- return freeProcess && freeProcess.binding && freeProcess.binding('util');
- } catch (e) {}
- }());
-
- /* Node.js helper references. */
- var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,
- nodeIsDate = nodeUtil && nodeUtil.isDate,
- nodeIsMap = nodeUtil && nodeUtil.isMap,
- nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,
- nodeIsSet = nodeUtil && nodeUtil.isSet,
- nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
-
- /*--------------------------------------------------------------------------*/
-
- /**
- * A faster alternative to `Function#apply`, this function invokes `func`
- * with the `this` binding of `thisArg` and the arguments of `args`.
- *
- * @private
- * @param {Function} func The function to invoke.
- * @param {*} thisArg The `this` binding of `func`.
- * @param {Array} args The arguments to invoke `func` with.
- * @returns {*} Returns the result of `func`.
- */
- function apply(func, thisArg, args) {
- switch (args.length) {
- case 0: return func.call(thisArg);
- case 1: return func.call(thisArg, args[0]);
- case 2: return func.call(thisArg, args[0], args[1]);
- case 3: return func.call(thisArg, args[0], args[1], args[2]);
- }
- return func.apply(thisArg, args);
- }
-
- /**
- * A specialized version of `baseAggregator` for arrays.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} setter The function to set `accumulator` values.
- * @param {Function} iteratee The iteratee to transform keys.
- * @param {Object} accumulator The initial aggregated object.
- * @returns {Function} Returns `accumulator`.
- */
- function arrayAggregator(array, setter, iteratee, accumulator) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- while (++index < length) {
- var value = array[index];
- setter(accumulator, value, iteratee(value), array);
- }
- return accumulator;
- }
-
- /**
- * A specialized version of `_.forEach` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns `array`.
- */
- function arrayEach(array, iteratee) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- while (++index < length) {
- if (iteratee(array[index], index, array) === false) {
- break;
- }
- }
- return array;
- }
-
- /**
- * A specialized version of `_.forEachRight` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns `array`.
- */
- function arrayEachRight(array, iteratee) {
- var length = array == null ? 0 : array.length;
-
- while (length--) {
- if (iteratee(array[length], length, array) === false) {
- break;
- }
- }
- return array;
- }
-
- /**
- * A specialized version of `_.every` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if all elements pass the predicate check,
- * else `false`.
- */
- function arrayEvery(array, predicate) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- while (++index < length) {
- if (!predicate(array[index], index, array)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * A specialized version of `_.filter` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {Array} Returns the new filtered array.
- */
- function arrayFilter(array, predicate) {
- var index = -1,
- length = array == null ? 0 : array.length,
- resIndex = 0,
- result = [];
-
- while (++index < length) {
- var value = array[index];
- if (predicate(value, index, array)) {
- result[resIndex++] = value;
- }
- }
- return result;
- }
-
- /**
- * A specialized version of `_.includes` for arrays without support for
- * specifying an index to search from.
- *
- * @private
- * @param {Array} [array] The array to inspect.
- * @param {*} target The value to search for.
- * @returns {boolean} Returns `true` if `target` is found, else `false`.
- */
- function arrayIncludes(array, value) {
- var length = array == null ? 0 : array.length;
- return !!length && baseIndexOf(array, value, 0) > -1;
- }
-
- /**
- * This function is like `arrayIncludes` except that it accepts a comparator.
- *
- * @private
- * @param {Array} [array] The array to inspect.
- * @param {*} target The value to search for.
- * @param {Function} comparator The comparator invoked per element.
- * @returns {boolean} Returns `true` if `target` is found, else `false`.
- */
- function arrayIncludesWith(array, value, comparator) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- while (++index < length) {
- if (comparator(value, array[index])) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * A specialized version of `_.map` for arrays without support for iteratee
- * shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the new mapped array.
- */
- function arrayMap(array, iteratee) {
- var index = -1,
- length = array == null ? 0 : array.length,
- result = Array(length);
-
- while (++index < length) {
- result[index] = iteratee(array[index], index, array);
- }
- return result;
- }
-
- /**
- * Appends the elements of `values` to `array`.
- *
- * @private
- * @param {Array} array The array to modify.
- * @param {Array} values The values to append.
- * @returns {Array} Returns `array`.
- */
- function arrayPush(array, values) {
- var index = -1,
- length = values.length,
- offset = array.length;
-
- while (++index < length) {
- array[offset + index] = values[index];
- }
- return array;
- }
-
- /**
- * A specialized version of `_.reduce` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {*} [accumulator] The initial value.
- * @param {boolean} [initAccum] Specify using the first element of `array` as
- * the initial value.
- * @returns {*} Returns the accumulated value.
- */
- function arrayReduce(array, iteratee, accumulator, initAccum) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- if (initAccum && length) {
- accumulator = array[++index];
- }
- while (++index < length) {
- accumulator = iteratee(accumulator, array[index], index, array);
- }
- return accumulator;
- }
-
- /**
- * A specialized version of `_.reduceRight` for arrays without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {*} [accumulator] The initial value.
- * @param {boolean} [initAccum] Specify using the last element of `array` as
- * the initial value.
- * @returns {*} Returns the accumulated value.
- */
- function arrayReduceRight(array, iteratee, accumulator, initAccum) {
- var length = array == null ? 0 : array.length;
- if (initAccum && length) {
- accumulator = array[--length];
- }
- while (length--) {
- accumulator = iteratee(accumulator, array[length], length, array);
- }
- return accumulator;
- }
-
- /**
- * A specialized version of `_.some` for arrays without support for iteratee
- * shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if any element passes the predicate check,
- * else `false`.
- */
- function arraySome(array, predicate) {
- var index = -1,
- length = array == null ? 0 : array.length;
-
- while (++index < length) {
- if (predicate(array[index], index, array)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Gets the size of an ASCII `string`.
- *
- * @private
- * @param {string} string The string inspect.
- * @returns {number} Returns the string size.
- */
- var asciiSize = baseProperty('length');
-
- /**
- * Converts an ASCII `string` to an array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the converted array.
- */
- function asciiToArray(string) {
- return string.split('');
- }
-
- /**
- * Splits an ASCII `string` into an array of its words.
- *
- * @private
- * @param {string} The string to inspect.
- * @returns {Array} Returns the words of `string`.
- */
- function asciiWords(string) {
- return string.match(reAsciiWord) || [];
- }
-
- /**
- * The base implementation of methods like `_.findKey` and `_.findLastKey`,
- * without support for iteratee shorthands, which iterates over `collection`
- * using `eachFunc`.
- *
- * @private
- * @param {Array|Object} collection The collection to inspect.
- * @param {Function} predicate The function invoked per iteration.
- * @param {Function} eachFunc The function to iterate over `collection`.
- * @returns {*} Returns the found element or its key, else `undefined`.
- */
- function baseFindKey(collection, predicate, eachFunc) {
- var result;
- eachFunc(collection, function(value, key, collection) {
- if (predicate(value, key, collection)) {
- result = key;
- return false;
- }
- });
- return result;
- }
-
- /**
- * The base implementation of `_.findIndex` and `_.findLastIndex` without
- * support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} predicate The function invoked per iteration.
- * @param {number} fromIndex The index to search from.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function baseFindIndex(array, predicate, fromIndex, fromRight) {
- var length = array.length,
- index = fromIndex + (fromRight ? 1 : -1);
-
- while ((fromRight ? index-- : ++index < length)) {
- if (predicate(array[index], index, array)) {
- return index;
- }
- }
- return -1;
- }
-
- /**
- * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function baseIndexOf(array, value, fromIndex) {
- return value === value
- ? strictIndexOf(array, value, fromIndex)
- : baseFindIndex(array, baseIsNaN, fromIndex);
- }
-
- /**
- * This function is like `baseIndexOf` except that it accepts a comparator.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @param {Function} comparator The comparator invoked per element.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function baseIndexOfWith(array, value, fromIndex, comparator) {
- var index = fromIndex - 1,
- length = array.length;
-
- while (++index < length) {
- if (comparator(array[index], value)) {
- return index;
- }
- }
- return -1;
- }
-
- /**
- * The base implementation of `_.isNaN` without support for number objects.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
- */
- function baseIsNaN(value) {
- return value !== value;
- }
-
- /**
- * The base implementation of `_.mean` and `_.meanBy` without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {number} Returns the mean.
- */
- function baseMean(array, iteratee) {
- var length = array == null ? 0 : array.length;
- return length ? (baseSum(array, iteratee) / length) : NAN;
- }
-
- /**
- * The base implementation of `_.property` without support for deep paths.
- *
- * @private
- * @param {string} key The key of the property to get.
- * @returns {Function} Returns the new accessor function.
- */
- function baseProperty(key) {
- return function(object) {
- return object == null ? undefined : object[key];
- };
- }
-
- /**
- * The base implementation of `_.propertyOf` without support for deep paths.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Function} Returns the new accessor function.
- */
- function basePropertyOf(object) {
- return function(key) {
- return object == null ? undefined : object[key];
- };
- }
-
- /**
- * The base implementation of `_.reduce` and `_.reduceRight`, without support
- * for iteratee shorthands, which iterates over `collection` using `eachFunc`.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {*} accumulator The initial value.
- * @param {boolean} initAccum Specify using the first or last element of
- * `collection` as the initial value.
- * @param {Function} eachFunc The function to iterate over `collection`.
- * @returns {*} Returns the accumulated value.
- */
- function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
- eachFunc(collection, function(value, index, collection) {
- accumulator = initAccum
- ? (initAccum = false, value)
- : iteratee(accumulator, value, index, collection);
- });
- return accumulator;
- }
-
- /**
- * The base implementation of `_.sortBy` which uses `comparer` to define the
- * sort order of `array` and replaces criteria objects with their corresponding
- * values.
- *
- * @private
- * @param {Array} array The array to sort.
- * @param {Function} comparer The function to define sort order.
- * @returns {Array} Returns `array`.
- */
- function baseSortBy(array, comparer) {
- var length = array.length;
-
- array.sort(comparer);
- while (length--) {
- array[length] = array[length].value;
- }
- return array;
- }
-
- /**
- * The base implementation of `_.sum` and `_.sumBy` without support for
- * iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {number} Returns the sum.
- */
- function baseSum(array, iteratee) {
- var result,
- index = -1,
- length = array.length;
-
- while (++index < length) {
- var current = iteratee(array[index]);
- if (current !== undefined) {
- result = result === undefined ? current : (result + current);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.times` without support for iteratee shorthands
- * or max array length checks.
- *
- * @private
- * @param {number} n The number of times to invoke `iteratee`.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the array of results.
- */
- function baseTimes(n, iteratee) {
- var index = -1,
- result = Array(n);
-
- while (++index < n) {
- result[index] = iteratee(index);
- }
- return result;
- }
-
- /**
- * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array
- * of key-value pairs for `object` corresponding to the property names of `props`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array} props The property names to get values for.
- * @returns {Object} Returns the key-value pairs.
- */
- function baseToPairs(object, props) {
- return arrayMap(props, function(key) {
- return [key, object[key]];
- });
- }
-
- /**
- * The base implementation of `_.unary` without support for storing metadata.
- *
- * @private
- * @param {Function} func The function to cap arguments for.
- * @returns {Function} Returns the new capped function.
- */
- function baseUnary(func) {
- return function(value) {
- return func(value);
- };
- }
-
- /**
- * The base implementation of `_.values` and `_.valuesIn` which creates an
- * array of `object` property values corresponding to the property names
- * of `props`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array} props The property names to get values for.
- * @returns {Object} Returns the array of property values.
- */
- function baseValues(object, props) {
- return arrayMap(props, function(key) {
- return object[key];
- });
- }
-
- /**
- * Checks if a `cache` value for `key` exists.
- *
- * @private
- * @param {Object} cache The cache to query.
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function cacheHas(cache, key) {
- return cache.has(key);
- }
-
- /**
- * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol
- * that is not found in the character symbols.
- *
- * @private
- * @param {Array} strSymbols The string symbols to inspect.
- * @param {Array} chrSymbols The character symbols to find.
- * @returns {number} Returns the index of the first unmatched string symbol.
- */
- function charsStartIndex(strSymbols, chrSymbols) {
- var index = -1,
- length = strSymbols.length;
-
- while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
- return index;
- }
-
- /**
- * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol
- * that is not found in the character symbols.
- *
- * @private
- * @param {Array} strSymbols The string symbols to inspect.
- * @param {Array} chrSymbols The character symbols to find.
- * @returns {number} Returns the index of the last unmatched string symbol.
- */
- function charsEndIndex(strSymbols, chrSymbols) {
- var index = strSymbols.length;
-
- while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
- return index;
- }
-
- /**
- * Gets the number of `placeholder` occurrences in `array`.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} placeholder The placeholder to search for.
- * @returns {number} Returns the placeholder count.
- */
- function countHolders(array, placeholder) {
- var length = array.length,
- result = 0;
-
- while (length--) {
- if (array[length] === placeholder) {
- ++result;
- }
- }
- return result;
- }
-
- /**
- * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A
- * letters to basic Latin letters.
- *
- * @private
- * @param {string} letter The matched letter to deburr.
- * @returns {string} Returns the deburred letter.
- */
- var deburrLetter = basePropertyOf(deburredLetters);
-
- /**
- * Used by `_.escape` to convert characters to HTML entities.
- *
- * @private
- * @param {string} chr The matched character to escape.
- * @returns {string} Returns the escaped character.
- */
- var escapeHtmlChar = basePropertyOf(htmlEscapes);
-
- /**
- * Used by `_.template` to escape characters for inclusion in compiled string literals.
- *
- * @private
- * @param {string} chr The matched character to escape.
- * @returns {string} Returns the escaped character.
- */
- function escapeStringChar(chr) {
- return '\\' + stringEscapes[chr];
- }
-
- /**
- * Gets the value at `key` of `object`.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {string} key The key of the property to get.
- * @returns {*} Returns the property value.
- */
- function getValue(object, key) {
- return object == null ? undefined : object[key];
- }
-
- /**
- * Checks if `string` contains Unicode symbols.
- *
- * @private
- * @param {string} string The string to inspect.
- * @returns {boolean} Returns `true` if a symbol is found, else `false`.
- */
- function hasUnicode(string) {
- return reHasUnicode.test(string);
- }
-
- /**
- * Checks if `string` contains a word composed of Unicode symbols.
- *
- * @private
- * @param {string} string The string to inspect.
- * @returns {boolean} Returns `true` if a word is found, else `false`.
- */
- function hasUnicodeWord(string) {
- return reHasUnicodeWord.test(string);
- }
-
- /**
- * Converts `iterator` to an array.
- *
- * @private
- * @param {Object} iterator The iterator to convert.
- * @returns {Array} Returns the converted array.
- */
- function iteratorToArray(iterator) {
- var data,
- result = [];
-
- while (!(data = iterator.next()).done) {
- result.push(data.value);
- }
- return result;
- }
-
- /**
- * Converts `map` to its key-value pairs.
- *
- * @private
- * @param {Object} map The map to convert.
- * @returns {Array} Returns the key-value pairs.
- */
- function mapToArray(map) {
- var index = -1,
- result = Array(map.size);
-
- map.forEach(function(value, key) {
- result[++index] = [key, value];
- });
- return result;
- }
-
- /**
- * Creates a unary function that invokes `func` with its argument transformed.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {Function} transform The argument transform.
- * @returns {Function} Returns the new function.
- */
- function overArg(func, transform) {
- return function(arg) {
- return func(transform(arg));
- };
- }
-
- /**
- * Replaces all `placeholder` elements in `array` with an internal placeholder
- * and returns an array of their indexes.
- *
- * @private
- * @param {Array} array The array to modify.
- * @param {*} placeholder The placeholder to replace.
- * @returns {Array} Returns the new array of placeholder indexes.
- */
- function replaceHolders(array, placeholder) {
- var index = -1,
- length = array.length,
- resIndex = 0,
- result = [];
-
- while (++index < length) {
- var value = array[index];
- if (value === placeholder || value === PLACEHOLDER) {
- array[index] = PLACEHOLDER;
- result[resIndex++] = index;
- }
- }
- return result;
- }
-
- /**
- * Gets the value at `key`, unless `key` is "__proto__".
- *
- * @private
- * @param {Object} object The object to query.
- * @param {string} key The key of the property to get.
- * @returns {*} Returns the property value.
- */
- function safeGet(object, key) {
- return key == '__proto__'
- ? undefined
- : object[key];
- }
-
- /**
- * Converts `set` to an array of its values.
- *
- * @private
- * @param {Object} set The set to convert.
- * @returns {Array} Returns the values.
- */
- function setToArray(set) {
- var index = -1,
- result = Array(set.size);
-
- set.forEach(function(value) {
- result[++index] = value;
- });
- return result;
- }
-
- /**
- * Converts `set` to its value-value pairs.
- *
- * @private
- * @param {Object} set The set to convert.
- * @returns {Array} Returns the value-value pairs.
- */
- function setToPairs(set) {
- var index = -1,
- result = Array(set.size);
-
- set.forEach(function(value) {
- result[++index] = [value, value];
- });
- return result;
- }
-
- /**
- * A specialized version of `_.indexOf` which performs strict equality
- * comparisons of values, i.e. `===`.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function strictIndexOf(array, value, fromIndex) {
- var index = fromIndex - 1,
- length = array.length;
-
- while (++index < length) {
- if (array[index] === value) {
- return index;
- }
- }
- return -1;
- }
-
- /**
- * A specialized version of `_.lastIndexOf` which performs strict equality
- * comparisons of values, i.e. `===`.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function strictLastIndexOf(array, value, fromIndex) {
- var index = fromIndex + 1;
- while (index--) {
- if (array[index] === value) {
- return index;
- }
- }
- return index;
- }
-
- /**
- * Gets the number of symbols in `string`.
- *
- * @private
- * @param {string} string The string to inspect.
- * @returns {number} Returns the string size.
- */
- function stringSize(string) {
- return hasUnicode(string)
- ? unicodeSize(string)
- : asciiSize(string);
- }
-
- /**
- * Converts `string` to an array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the converted array.
- */
- function stringToArray(string) {
- return hasUnicode(string)
- ? unicodeToArray(string)
- : asciiToArray(string);
- }
-
- /**
- * Used by `_.unescape` to convert HTML entities to characters.
- *
- * @private
- * @param {string} chr The matched character to unescape.
- * @returns {string} Returns the unescaped character.
- */
- var unescapeHtmlChar = basePropertyOf(htmlUnescapes);
-
- /**
- * Gets the size of a Unicode `string`.
- *
- * @private
- * @param {string} string The string inspect.
- * @returns {number} Returns the string size.
- */
- function unicodeSize(string) {
- var result = reUnicode.lastIndex = 0;
- while (reUnicode.test(string)) {
- ++result;
- }
- return result;
- }
-
- /**
- * Converts a Unicode `string` to an array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the converted array.
- */
- function unicodeToArray(string) {
- return string.match(reUnicode) || [];
- }
-
- /**
- * Splits a Unicode `string` into an array of its words.
- *
- * @private
- * @param {string} The string to inspect.
- * @returns {Array} Returns the words of `string`.
- */
- function unicodeWords(string) {
- return string.match(reUnicodeWord) || [];
- }
-
- /*--------------------------------------------------------------------------*/
-
- /**
- * Create a new pristine `lodash` function using the `context` object.
- *
- * @static
- * @memberOf _
- * @since 1.1.0
- * @category Util
- * @param {Object} [context=root] The context object.
- * @returns {Function} Returns a new `lodash` function.
- * @example
- *
- * _.mixin({ 'foo': _.constant('foo') });
- *
- * var lodash = _.runInContext();
- * lodash.mixin({ 'bar': lodash.constant('bar') });
- *
- * _.isFunction(_.foo);
- * // => true
- * _.isFunction(_.bar);
- * // => false
- *
- * lodash.isFunction(lodash.foo);
- * // => false
- * lodash.isFunction(lodash.bar);
- * // => true
- *
- * // Create a suped-up `defer` in Node.js.
- * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;
- */
- var runInContext = (function runInContext(context) {
- context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));
-
- /** Built-in constructor references. */
- var Array = context.Array,
- Date = context.Date,
- Error = context.Error,
- Function = context.Function,
- Math = context.Math,
- Object = context.Object,
- RegExp = context.RegExp,
- String = context.String,
- TypeError = context.TypeError;
-
- /** Used for built-in method references. */
- var arrayProto = Array.prototype,
- funcProto = Function.prototype,
- objectProto = Object.prototype;
-
- /** Used to detect overreaching core-js shims. */
- var coreJsData = context['__core-js_shared__'];
-
- /** Used to resolve the decompiled source of functions. */
- var funcToString = funcProto.toString;
-
- /** Used to check objects for own properties. */
- var hasOwnProperty = objectProto.hasOwnProperty;
-
- /** Used to generate unique IDs. */
- var idCounter = 0;
-
- /** Used to detect methods masquerading as native. */
- var maskSrcKey = (function() {
- var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
- return uid ? ('Symbol(src)_1.' + uid) : '';
- }());
-
- /**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */
- var nativeObjectToString = objectProto.toString;
-
- /** Used to infer the `Object` constructor. */
- var objectCtorString = funcToString.call(Object);
-
- /** Used to restore the original `_` reference in `_.noConflict`. */
- var oldDash = root._;
-
- /** Used to detect if a method is native. */
- var reIsNative = RegExp('^' +
- funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
- .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
- );
-
- /** Built-in value references. */
- var Buffer = moduleExports ? context.Buffer : undefined,
- Symbol = context.Symbol,
- Uint8Array = context.Uint8Array,
- allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,
- getPrototype = overArg(Object.getPrototypeOf, Object),
- objectCreate = Object.create,
- propertyIsEnumerable = objectProto.propertyIsEnumerable,
- splice = arrayProto.splice,
- spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,
- symIterator = Symbol ? Symbol.iterator : undefined,
- symToStringTag = Symbol ? Symbol.toStringTag : undefined;
-
- var defineProperty = (function() {
- try {
- var func = getNative(Object, 'defineProperty');
- func({}, '', {});
- return func;
- } catch (e) {}
- }());
-
- /** Mocked built-ins. */
- var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,
- ctxNow = Date && Date.now !== root.Date.now && Date.now,
- ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;
-
- /* Built-in method references for those with the same name as other `lodash` methods. */
- var nativeCeil = Math.ceil,
- nativeFloor = Math.floor,
- nativeGetSymbols = Object.getOwnPropertySymbols,
- nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,
- nativeIsFinite = context.isFinite,
- nativeJoin = arrayProto.join,
- nativeKeys = overArg(Object.keys, Object),
- nativeMax = Math.max,
- nativeMin = Math.min,
- nativeNow = Date.now,
- nativeParseInt = context.parseInt,
- nativeRandom = Math.random,
- nativeReverse = arrayProto.reverse;
-
- /* Built-in method references that are verified to be native. */
- var DataView = getNative(context, 'DataView'),
- Map = getNative(context, 'Map'),
- Promise = getNative(context, 'Promise'),
- Set = getNative(context, 'Set'),
- WeakMap = getNative(context, 'WeakMap'),
- nativeCreate = getNative(Object, 'create');
-
- /** Used to store function metadata. */
- var metaMap = WeakMap && new WeakMap;
-
- /** Used to lookup unminified function names. */
- var realNames = {};
-
- /** Used to detect maps, sets, and weakmaps. */
- var dataViewCtorString = toSource(DataView),
- mapCtorString = toSource(Map),
- promiseCtorString = toSource(Promise),
- setCtorString = toSource(Set),
- weakMapCtorString = toSource(WeakMap);
-
- /** Used to convert symbols to primitives and strings. */
- var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a `lodash` object which wraps `value` to enable implicit method
- * chain sequences. Methods that operate on and return arrays, collections,
- * and functions can be chained together. Methods that retrieve a single value
- * or may return a primitive value will automatically end the chain sequence
- * and return the unwrapped value. Otherwise, the value must be unwrapped
- * with `_#value`.
- *
- * Explicit chain sequences, which must be unwrapped with `_#value`, may be
- * enabled using `_.chain`.
- *
- * The execution of chained methods is lazy, that is, it's deferred until
- * `_#value` is implicitly or explicitly called.
- *
- * Lazy evaluation allows several methods to support shortcut fusion.
- * Shortcut fusion is an optimization to merge iteratee calls; this avoids
- * the creation of intermediate arrays and can greatly reduce the number of
- * iteratee executions. Sections of a chain sequence qualify for shortcut
- * fusion if the section is applied to an array and iteratees accept only
- * one argument. The heuristic for whether a section qualifies for shortcut
- * fusion is subject to change.
- *
- * Chaining is supported in custom builds as long as the `_#value` method is
- * directly or indirectly included in the build.
- *
- * In addition to lodash methods, wrappers have `Array` and `String` methods.
- *
- * The wrapper `Array` methods are:
- * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
- *
- * The wrapper `String` methods are:
- * `replace` and `split`
- *
- * The wrapper methods that support shortcut fusion are:
- * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
- * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
- * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
- *
- * The chainable wrapper methods are:
- * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
- * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
- * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
- * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
- * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
- * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
- * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
- * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
- * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
- * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
- * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
- * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
- * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
- * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
- * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
- * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
- * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
- * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
- * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
- * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
- * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
- * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
- * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
- * `zipObject`, `zipObjectDeep`, and `zipWith`
- *
- * The wrapper methods that are **not** chainable by default are:
- * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
- * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
- * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,
- * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
- * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,
- * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,
- * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,
- * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,
- * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,
- * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,
- * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,
- * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,
- * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,
- * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,
- * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,
- * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,
- * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
- * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
- * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
- * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,
- * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,
- * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,
- * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,
- * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,
- * `upperFirst`, `value`, and `words`
- *
- * @name _
- * @constructor
- * @category Seq
- * @param {*} value The value to wrap in a `lodash` instance.
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * function square(n) {
- * return n * n;
- * }
- *
- * var wrapped = _([1, 2, 3]);
- *
- * // Returns an unwrapped value.
- * wrapped.reduce(_.add);
- * // => 6
- *
- * // Returns a wrapped value.
- * var squares = wrapped.map(square);
- *
- * _.isArray(squares);
- * // => false
- *
- * _.isArray(squares.value());
- * // => true
- */
- function lodash(value) {
- if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
- if (value instanceof LodashWrapper) {
- return value;
- }
- if (hasOwnProperty.call(value, '__wrapped__')) {
- return wrapperClone(value);
- }
- }
- return new LodashWrapper(value);
- }
-
- /**
- * The base implementation of `_.create` without support for assigning
- * properties to the created object.
- *
- * @private
- * @param {Object} proto The object to inherit from.
- * @returns {Object} Returns the new object.
- */
- var baseCreate = (function() {
- function object() {}
- return function(proto) {
- if (!isObject(proto)) {
- return {};
- }
- if (objectCreate) {
- return objectCreate(proto);
- }
- object.prototype = proto;
- var result = new object;
- object.prototype = undefined;
- return result;
- };
- }());
-
- /**
- * The function whose prototype chain sequence wrappers inherit from.
- *
- * @private
- */
- function baseLodash() {
- // No operation performed.
- }
-
- /**
- * The base constructor for creating `lodash` wrapper objects.
- *
- * @private
- * @param {*} value The value to wrap.
- * @param {boolean} [chainAll] Enable explicit method chain sequences.
- */
- function LodashWrapper(value, chainAll) {
- this.__wrapped__ = value;
- this.__actions__ = [];
- this.__chain__ = !!chainAll;
- this.__index__ = 0;
- this.__values__ = undefined;
- }
-
- /**
- * By default, the template delimiters used by lodash are like those in
- * embedded Ruby (ERB) as well as ES2015 template strings. Change the
- * following template settings to use alternative delimiters.
- *
- * @static
- * @memberOf _
- * @type {Object}
- */
- lodash.templateSettings = {
-
- /**
- * Used to detect `data` property values to be HTML-escaped.
- *
- * @memberOf _.templateSettings
- * @type {RegExp}
- */
- 'escape': reEscape,
-
- /**
- * Used to detect code to be evaluated.
- *
- * @memberOf _.templateSettings
- * @type {RegExp}
- */
- 'evaluate': reEvaluate,
-
- /**
- * Used to detect `data` property values to inject.
- *
- * @memberOf _.templateSettings
- * @type {RegExp}
- */
- 'interpolate': reInterpolate,
-
- /**
- * Used to reference the data object in the template text.
- *
- * @memberOf _.templateSettings
- * @type {string}
- */
- 'variable': '',
-
- /**
- * Used to import variables into the compiled template.
- *
- * @memberOf _.templateSettings
- * @type {Object}
- */
- 'imports': {
-
- /**
- * A reference to the `lodash` function.
- *
- * @memberOf _.templateSettings.imports
- * @type {Function}
- */
- '_': lodash
- }
- };
-
- // Ensure wrappers are instances of `baseLodash`.
- lodash.prototype = baseLodash.prototype;
- lodash.prototype.constructor = lodash;
-
- LodashWrapper.prototype = baseCreate(baseLodash.prototype);
- LodashWrapper.prototype.constructor = LodashWrapper;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
- *
- * @private
- * @constructor
- * @param {*} value The value to wrap.
- */
- function LazyWrapper(value) {
- this.__wrapped__ = value;
- this.__actions__ = [];
- this.__dir__ = 1;
- this.__filtered__ = false;
- this.__iteratees__ = [];
- this.__takeCount__ = MAX_ARRAY_LENGTH;
- this.__views__ = [];
- }
-
- /**
- * Creates a clone of the lazy wrapper object.
- *
- * @private
- * @name clone
- * @memberOf LazyWrapper
- * @returns {Object} Returns the cloned `LazyWrapper` object.
- */
- function lazyClone() {
- var result = new LazyWrapper(this.__wrapped__);
- result.__actions__ = copyArray(this.__actions__);
- result.__dir__ = this.__dir__;
- result.__filtered__ = this.__filtered__;
- result.__iteratees__ = copyArray(this.__iteratees__);
- result.__takeCount__ = this.__takeCount__;
- result.__views__ = copyArray(this.__views__);
- return result;
- }
-
- /**
- * Reverses the direction of lazy iteration.
- *
- * @private
- * @name reverse
- * @memberOf LazyWrapper
- * @returns {Object} Returns the new reversed `LazyWrapper` object.
- */
- function lazyReverse() {
- if (this.__filtered__) {
- var result = new LazyWrapper(this);
- result.__dir__ = -1;
- result.__filtered__ = true;
- } else {
- result = this.clone();
- result.__dir__ *= -1;
- }
- return result;
- }
-
- /**
- * Extracts the unwrapped value from its lazy wrapper.
- *
- * @private
- * @name value
- * @memberOf LazyWrapper
- * @returns {*} Returns the unwrapped value.
- */
- function lazyValue() {
- var array = this.__wrapped__.value(),
- dir = this.__dir__,
- isArr = isArray(array),
- isRight = dir < 0,
- arrLength = isArr ? array.length : 0,
- view = getView(0, arrLength, this.__views__),
- start = view.start,
- end = view.end,
- length = end - start,
- index = isRight ? end : (start - 1),
- iteratees = this.__iteratees__,
- iterLength = iteratees.length,
- resIndex = 0,
- takeCount = nativeMin(length, this.__takeCount__);
-
- if (!isArr || (!isRight && arrLength == length && takeCount == length)) {
- return baseWrapperValue(array, this.__actions__);
- }
- var result = [];
-
- outer:
- while (length-- && resIndex < takeCount) {
- index += dir;
-
- var iterIndex = -1,
- value = array[index];
-
- while (++iterIndex < iterLength) {
- var data = iteratees[iterIndex],
- iteratee = data.iteratee,
- type = data.type,
- computed = iteratee(value);
-
- if (type == LAZY_MAP_FLAG) {
- value = computed;
- } else if (!computed) {
- if (type == LAZY_FILTER_FLAG) {
- continue outer;
- } else {
- break outer;
- }
- }
- }
- result[resIndex++] = value;
- }
- return result;
- }
-
- // Ensure `LazyWrapper` is an instance of `baseLodash`.
- LazyWrapper.prototype = baseCreate(baseLodash.prototype);
- LazyWrapper.prototype.constructor = LazyWrapper;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a hash object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function Hash(entries) {
- var index = -1,
- length = entries == null ? 0 : entries.length;
-
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
-
- /**
- * Removes all key-value entries from the hash.
- *
- * @private
- * @name clear
- * @memberOf Hash
- */
- function hashClear() {
- this.__data__ = nativeCreate ? nativeCreate(null) : {};
- this.size = 0;
- }
-
- /**
- * Removes `key` and its value from the hash.
- *
- * @private
- * @name delete
- * @memberOf Hash
- * @param {Object} hash The hash to modify.
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function hashDelete(key) {
- var result = this.has(key) && delete this.__data__[key];
- this.size -= result ? 1 : 0;
- return result;
- }
-
- /**
- * Gets the hash value for `key`.
- *
- * @private
- * @name get
- * @memberOf Hash
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function hashGet(key) {
- var data = this.__data__;
- if (nativeCreate) {
- var result = data[key];
- return result === HASH_UNDEFINED ? undefined : result;
- }
- return hasOwnProperty.call(data, key) ? data[key] : undefined;
- }
-
- /**
- * Checks if a hash value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Hash
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function hashHas(key) {
- var data = this.__data__;
- return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
- }
-
- /**
- * Sets the hash `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Hash
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the hash instance.
- */
- function hashSet(key, value) {
- var data = this.__data__;
- this.size += this.has(key) ? 0 : 1;
- data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
- return this;
- }
-
- // Add methods to `Hash`.
- Hash.prototype.clear = hashClear;
- Hash.prototype['delete'] = hashDelete;
- Hash.prototype.get = hashGet;
- Hash.prototype.has = hashHas;
- Hash.prototype.set = hashSet;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates an list cache object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function ListCache(entries) {
- var index = -1,
- length = entries == null ? 0 : entries.length;
-
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
-
- /**
- * Removes all key-value entries from the list cache.
- *
- * @private
- * @name clear
- * @memberOf ListCache
- */
- function listCacheClear() {
- this.__data__ = [];
- this.size = 0;
- }
-
- /**
- * Removes `key` and its value from the list cache.
- *
- * @private
- * @name delete
- * @memberOf ListCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function listCacheDelete(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
-
- if (index < 0) {
- return false;
- }
- var lastIndex = data.length - 1;
- if (index == lastIndex) {
- data.pop();
- } else {
- splice.call(data, index, 1);
- }
- --this.size;
- return true;
- }
-
- /**
- * Gets the list cache value for `key`.
- *
- * @private
- * @name get
- * @memberOf ListCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function listCacheGet(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
-
- return index < 0 ? undefined : data[index][1];
- }
-
- /**
- * Checks if a list cache value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf ListCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function listCacheHas(key) {
- return assocIndexOf(this.__data__, key) > -1;
- }
-
- /**
- * Sets the list cache `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf ListCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the list cache instance.
- */
- function listCacheSet(key, value) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
-
- if (index < 0) {
- ++this.size;
- data.push([key, value]);
- } else {
- data[index][1] = value;
- }
- return this;
- }
-
- // Add methods to `ListCache`.
- ListCache.prototype.clear = listCacheClear;
- ListCache.prototype['delete'] = listCacheDelete;
- ListCache.prototype.get = listCacheGet;
- ListCache.prototype.has = listCacheHas;
- ListCache.prototype.set = listCacheSet;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a map cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function MapCache(entries) {
- var index = -1,
- length = entries == null ? 0 : entries.length;
-
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
-
- /**
- * Removes all key-value entries from the map.
- *
- * @private
- * @name clear
- * @memberOf MapCache
- */
- function mapCacheClear() {
- this.size = 0;
- this.__data__ = {
- 'hash': new Hash,
- 'map': new (Map || ListCache),
- 'string': new Hash
- };
- }
-
- /**
- * Removes `key` and its value from the map.
- *
- * @private
- * @name delete
- * @memberOf MapCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function mapCacheDelete(key) {
- var result = getMapData(this, key)['delete'](key);
- this.size -= result ? 1 : 0;
- return result;
- }
-
- /**
- * Gets the map value for `key`.
- *
- * @private
- * @name get
- * @memberOf MapCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function mapCacheGet(key) {
- return getMapData(this, key).get(key);
- }
-
- /**
- * Checks if a map value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf MapCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function mapCacheHas(key) {
- return getMapData(this, key).has(key);
- }
-
- /**
- * Sets the map `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf MapCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the map cache instance.
- */
- function mapCacheSet(key, value) {
- var data = getMapData(this, key),
- size = data.size;
-
- data.set(key, value);
- this.size += data.size == size ? 0 : 1;
- return this;
- }
-
- // Add methods to `MapCache`.
- MapCache.prototype.clear = mapCacheClear;
- MapCache.prototype['delete'] = mapCacheDelete;
- MapCache.prototype.get = mapCacheGet;
- MapCache.prototype.has = mapCacheHas;
- MapCache.prototype.set = mapCacheSet;
-
- /*------------------------------------------------------------------------*/
-
- /**
- *
- * Creates an array cache object to store unique values.
- *
- * @private
- * @constructor
- * @param {Array} [values] The values to cache.
- */
- function SetCache(values) {
- var index = -1,
- length = values == null ? 0 : values.length;
-
- this.__data__ = new MapCache;
- while (++index < length) {
- this.add(values[index]);
- }
- }
-
- /**
- * Adds `value` to the array cache.
- *
- * @private
- * @name add
- * @memberOf SetCache
- * @alias push
- * @param {*} value The value to cache.
- * @returns {Object} Returns the cache instance.
- */
- function setCacheAdd(value) {
- this.__data__.set(value, HASH_UNDEFINED);
- return this;
- }
-
- /**
- * Checks if `value` is in the array cache.
- *
- * @private
- * @name has
- * @memberOf SetCache
- * @param {*} value The value to search for.
- * @returns {number} Returns `true` if `value` is found, else `false`.
- */
- function setCacheHas(value) {
- return this.__data__.has(value);
- }
-
- // Add methods to `SetCache`.
- SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
- SetCache.prototype.has = setCacheHas;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a stack cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function Stack(entries) {
- var data = this.__data__ = new ListCache(entries);
- this.size = data.size;
- }
-
- /**
- * Removes all key-value entries from the stack.
- *
- * @private
- * @name clear
- * @memberOf Stack
- */
- function stackClear() {
- this.__data__ = new ListCache;
- this.size = 0;
- }
-
- /**
- * Removes `key` and its value from the stack.
- *
- * @private
- * @name delete
- * @memberOf Stack
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function stackDelete(key) {
- var data = this.__data__,
- result = data['delete'](key);
-
- this.size = data.size;
- return result;
- }
-
- /**
- * Gets the stack value for `key`.
- *
- * @private
- * @name get
- * @memberOf Stack
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function stackGet(key) {
- return this.__data__.get(key);
- }
-
- /**
- * Checks if a stack value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Stack
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function stackHas(key) {
- return this.__data__.has(key);
- }
-
- /**
- * Sets the stack `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Stack
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the stack cache instance.
- */
- function stackSet(key, value) {
- var data = this.__data__;
- if (data instanceof ListCache) {
- var pairs = data.__data__;
- if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
- pairs.push([key, value]);
- this.size = ++data.size;
- return this;
- }
- data = this.__data__ = new MapCache(pairs);
- }
- data.set(key, value);
- this.size = data.size;
- return this;
- }
-
- // Add methods to `Stack`.
- Stack.prototype.clear = stackClear;
- Stack.prototype['delete'] = stackDelete;
- Stack.prototype.get = stackGet;
- Stack.prototype.has = stackHas;
- Stack.prototype.set = stackSet;
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates an array of the enumerable property names of the array-like `value`.
- *
- * @private
- * @param {*} value The value to query.
- * @param {boolean} inherited Specify returning inherited property names.
- * @returns {Array} Returns the array of property names.
- */
- function arrayLikeKeys(value, inherited) {
- var isArr = isArray(value),
- isArg = !isArr && isArguments(value),
- isBuff = !isArr && !isArg && isBuffer(value),
- isType = !isArr && !isArg && !isBuff && isTypedArray(value),
- skipIndexes = isArr || isArg || isBuff || isType,
- result = skipIndexes ? baseTimes(value.length, String) : [],
- length = result.length;
-
- for (var key in value) {
- if ((inherited || hasOwnProperty.call(value, key)) &&
- !(skipIndexes && (
- // Safari 9 has enumerable `arguments.length` in strict mode.
- key == 'length' ||
- // Node.js 0.10 has enumerable non-index properties on buffers.
- (isBuff && (key == 'offset' || key == 'parent')) ||
- // PhantomJS 2 has enumerable non-index properties on typed arrays.
- (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
- // Skip index properties.
- isIndex(key, length)
- ))) {
- result.push(key);
- }
- }
- return result;
- }
-
- /**
- * A specialized version of `_.sample` for arrays.
- *
- * @private
- * @param {Array} array The array to sample.
- * @returns {*} Returns the random element.
- */
- function arraySample(array) {
- var length = array.length;
- return length ? array[baseRandom(0, length - 1)] : undefined;
- }
-
- /**
- * A specialized version of `_.sampleSize` for arrays.
- *
- * @private
- * @param {Array} array The array to sample.
- * @param {number} n The number of elements to sample.
- * @returns {Array} Returns the random elements.
- */
- function arraySampleSize(array, n) {
- return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));
- }
-
- /**
- * A specialized version of `_.shuffle` for arrays.
- *
- * @private
- * @param {Array} array The array to shuffle.
- * @returns {Array} Returns the new shuffled array.
- */
- function arrayShuffle(array) {
- return shuffleSelf(copyArray(array));
- }
-
- /**
- * This function is like `assignValue` except that it doesn't assign
- * `undefined` values.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {string} key The key of the property to assign.
- * @param {*} value The value to assign.
- */
- function assignMergeValue(object, key, value) {
- if ((value !== undefined && !eq(object[key], value)) ||
- (value === undefined && !(key in object))) {
- baseAssignValue(object, key, value);
- }
- }
-
- /**
- * Assigns `value` to `key` of `object` if the existing value is not equivalent
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {string} key The key of the property to assign.
- * @param {*} value The value to assign.
- */
- function assignValue(object, key, value) {
- var objValue = object[key];
- if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
- (value === undefined && !(key in object))) {
- baseAssignValue(object, key, value);
- }
- }
-
- /**
- * Gets the index at which the `key` is found in `array` of key-value pairs.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} key The key to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function assocIndexOf(array, key) {
- var length = array.length;
- while (length--) {
- if (eq(array[length][0], key)) {
- return length;
- }
- }
- return -1;
- }
-
- /**
- * Aggregates elements of `collection` on `accumulator` with keys transformed
- * by `iteratee` and values set by `setter`.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} setter The function to set `accumulator` values.
- * @param {Function} iteratee The iteratee to transform keys.
- * @param {Object} accumulator The initial aggregated object.
- * @returns {Function} Returns `accumulator`.
- */
- function baseAggregator(collection, setter, iteratee, accumulator) {
- baseEach(collection, function(value, key, collection) {
- setter(accumulator, value, iteratee(value), collection);
- });
- return accumulator;
- }
-
- /**
- * The base implementation of `_.assign` without support for multiple sources
- * or `customizer` functions.
- *
- * @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @returns {Object} Returns `object`.
- */
- function baseAssign(object, source) {
- return object && copyObject(source, keys(source), object);
- }
-
- /**
- * The base implementation of `_.assignIn` without support for multiple sources
- * or `customizer` functions.
- *
- * @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @returns {Object} Returns `object`.
- */
- function baseAssignIn(object, source) {
- return object && copyObject(source, keysIn(source), object);
- }
-
- /**
- * The base implementation of `assignValue` and `assignMergeValue` without
- * value checks.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {string} key The key of the property to assign.
- * @param {*} value The value to assign.
- */
- function baseAssignValue(object, key, value) {
- if (key == '__proto__' && defineProperty) {
- defineProperty(object, key, {
- 'configurable': true,
- 'enumerable': true,
- 'value': value,
- 'writable': true
- });
- } else {
- object[key] = value;
- }
- }
-
- /**
- * The base implementation of `_.at` without support for individual paths.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {string[]} paths The property paths to pick.
- * @returns {Array} Returns the picked elements.
- */
- function baseAt(object, paths) {
- var index = -1,
- length = paths.length,
- result = Array(length),
- skip = object == null;
-
- while (++index < length) {
- result[index] = skip ? undefined : get(object, paths[index]);
- }
- return result;
- }
-
- /**
- * The base implementation of `_.clamp` which doesn't coerce arguments.
- *
- * @private
- * @param {number} number The number to clamp.
- * @param {number} [lower] The lower bound.
- * @param {number} upper The upper bound.
- * @returns {number} Returns the clamped number.
- */
- function baseClamp(number, lower, upper) {
- if (number === number) {
- if (upper !== undefined) {
- number = number <= upper ? number : upper;
- }
- if (lower !== undefined) {
- number = number >= lower ? number : lower;
- }
- }
- return number;
- }
-
- /**
- * The base implementation of `_.clone` and `_.cloneDeep` which tracks
- * traversed objects.
- *
- * @private
- * @param {*} value The value to clone.
- * @param {boolean} bitmask The bitmask flags.
- * 1 - Deep clone
- * 2 - Flatten inherited properties
- * 4 - Clone symbols
- * @param {Function} [customizer] The function to customize cloning.
- * @param {string} [key] The key of `value`.
- * @param {Object} [object] The parent object of `value`.
- * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
- * @returns {*} Returns the cloned value.
- */
- function baseClone(value, bitmask, customizer, key, object, stack) {
- var result,
- isDeep = bitmask & CLONE_DEEP_FLAG,
- isFlat = bitmask & CLONE_FLAT_FLAG,
- isFull = bitmask & CLONE_SYMBOLS_FLAG;
-
- if (customizer) {
- result = object ? customizer(value, key, object, stack) : customizer(value);
- }
- if (result !== undefined) {
- return result;
- }
- if (!isObject(value)) {
- return value;
- }
- var isArr = isArray(value);
- if (isArr) {
- result = initCloneArray(value);
- if (!isDeep) {
- return copyArray(value, result);
- }
- } else {
- var tag = getTag(value),
- isFunc = tag == funcTag || tag == genTag;
-
- if (isBuffer(value)) {
- return cloneBuffer(value, isDeep);
- }
- if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
- result = (isFlat || isFunc) ? {} : initCloneObject(value);
- if (!isDeep) {
- return isFlat
- ? copySymbolsIn(value, baseAssignIn(result, value))
- : copySymbols(value, baseAssign(result, value));
- }
- } else {
- if (!cloneableTags[tag]) {
- return object ? value : {};
- }
- result = initCloneByTag(value, tag, isDeep);
- }
- }
- // Check for circular references and return its corresponding clone.
- stack || (stack = new Stack);
- var stacked = stack.get(value);
- if (stacked) {
- return stacked;
- }
- stack.set(value, result);
-
- if (isSet(value)) {
- value.forEach(function(subValue) {
- result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
- });
-
- return result;
- }
-
- if (isMap(value)) {
- value.forEach(function(subValue, key) {
- result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
- });
-
- return result;
- }
-
- var keysFunc = isFull
- ? (isFlat ? getAllKeysIn : getAllKeys)
- : (isFlat ? keysIn : keys);
-
- var props = isArr ? undefined : keysFunc(value);
- arrayEach(props || value, function(subValue, key) {
- if (props) {
- key = subValue;
- subValue = value[key];
- }
- // Recursively populate clone (susceptible to call stack limits).
- assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
- });
- return result;
- }
-
- /**
- * The base implementation of `_.conforms` which doesn't clone `source`.
- *
- * @private
- * @param {Object} source The object of property predicates to conform to.
- * @returns {Function} Returns the new spec function.
- */
- function baseConforms(source) {
- var props = keys(source);
- return function(object) {
- return baseConformsTo(object, source, props);
- };
- }
-
- /**
- * The base implementation of `_.conformsTo` which accepts `props` to check.
- *
- * @private
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property predicates to conform to.
- * @returns {boolean} Returns `true` if `object` conforms, else `false`.
- */
- function baseConformsTo(object, source, props) {
- var length = props.length;
- if (object == null) {
- return !length;
- }
- object = Object(object);
- while (length--) {
- var key = props[length],
- predicate = source[key],
- value = object[key];
-
- if ((value === undefined && !(key in object)) || !predicate(value)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * The base implementation of `_.delay` and `_.defer` which accepts `args`
- * to provide to `func`.
- *
- * @private
- * @param {Function} func The function to delay.
- * @param {number} wait The number of milliseconds to delay invocation.
- * @param {Array} args The arguments to provide to `func`.
- * @returns {number|Object} Returns the timer id or timeout object.
- */
- function baseDelay(func, wait, args) {
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- return setTimeout(function() { func.apply(undefined, args); }, wait);
- }
-
- /**
- * The base implementation of methods like `_.difference` without support
- * for excluding multiple arrays or iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Array} values The values to exclude.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of filtered values.
- */
- function baseDifference(array, values, iteratee, comparator) {
- var index = -1,
- includes = arrayIncludes,
- isCommon = true,
- length = array.length,
- result = [],
- valuesLength = values.length;
-
- if (!length) {
- return result;
- }
- if (iteratee) {
- values = arrayMap(values, baseUnary(iteratee));
- }
- if (comparator) {
- includes = arrayIncludesWith;
- isCommon = false;
- }
- else if (values.length >= LARGE_ARRAY_SIZE) {
- includes = cacheHas;
- isCommon = false;
- values = new SetCache(values);
- }
- outer:
- while (++index < length) {
- var value = array[index],
- computed = iteratee == null ? value : iteratee(value);
-
- value = (comparator || value !== 0) ? value : 0;
- if (isCommon && computed === computed) {
- var valuesIndex = valuesLength;
- while (valuesIndex--) {
- if (values[valuesIndex] === computed) {
- continue outer;
- }
- }
- result.push(value);
- }
- else if (!includes(values, computed, comparator)) {
- result.push(value);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.forEach` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array|Object} Returns `collection`.
- */
- var baseEach = createBaseEach(baseForOwn);
-
- /**
- * The base implementation of `_.forEachRight` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array|Object} Returns `collection`.
- */
- var baseEachRight = createBaseEach(baseForOwnRight, true);
-
- /**
- * The base implementation of `_.every` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if all elements pass the predicate check,
- * else `false`
- */
- function baseEvery(collection, predicate) {
- var result = true;
- baseEach(collection, function(value, index, collection) {
- result = !!predicate(value, index, collection);
- return result;
- });
- return result;
- }
-
- /**
- * The base implementation of methods like `_.max` and `_.min` which accepts a
- * `comparator` to determine the extremum value.
- *
- * @private
- * @param {Array} array The array to iterate over.
- * @param {Function} iteratee The iteratee invoked per iteration.
- * @param {Function} comparator The comparator used to compare values.
- * @returns {*} Returns the extremum value.
- */
- function baseExtremum(array, iteratee, comparator) {
- var index = -1,
- length = array.length;
-
- while (++index < length) {
- var value = array[index],
- current = iteratee(value);
-
- if (current != null && (computed === undefined
- ? (current === current && !isSymbol(current))
- : comparator(current, computed)
- )) {
- var computed = current,
- result = value;
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.fill` without an iteratee call guard.
- *
- * @private
- * @param {Array} array The array to fill.
- * @param {*} value The value to fill `array` with.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns `array`.
- */
- function baseFill(array, value, start, end) {
- var length = array.length;
-
- start = toInteger(start);
- if (start < 0) {
- start = -start > length ? 0 : (length + start);
- }
- end = (end === undefined || end > length) ? length : toInteger(end);
- if (end < 0) {
- end += length;
- }
- end = start > end ? 0 : toLength(end);
- while (start < end) {
- array[start++] = value;
- }
- return array;
- }
-
- /**
- * The base implementation of `_.filter` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {Array} Returns the new filtered array.
- */
- function baseFilter(collection, predicate) {
- var result = [];
- baseEach(collection, function(value, index, collection) {
- if (predicate(value, index, collection)) {
- result.push(value);
- }
- });
- return result;
- }
-
- /**
- * The base implementation of `_.flatten` with support for restricting flattening.
- *
- * @private
- * @param {Array} array The array to flatten.
- * @param {number} depth The maximum recursion depth.
- * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
- * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
- * @param {Array} [result=[]] The initial result value.
- * @returns {Array} Returns the new flattened array.
- */
- function baseFlatten(array, depth, predicate, isStrict, result) {
- var index = -1,
- length = array.length;
-
- predicate || (predicate = isFlattenable);
- result || (result = []);
-
- while (++index < length) {
- var value = array[index];
- if (depth > 0 && predicate(value)) {
- if (depth > 1) {
- // Recursively flatten arrays (susceptible to call stack limits).
- baseFlatten(value, depth - 1, predicate, isStrict, result);
- } else {
- arrayPush(result, value);
- }
- } else if (!isStrict) {
- result[result.length] = value;
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `baseForOwn` which iterates over `object`
- * properties returned by `keysFunc` and invokes `iteratee` for each property.
- * Iteratee functions may exit iteration early by explicitly returning `false`.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {Function} keysFunc The function to get the keys of `object`.
- * @returns {Object} Returns `object`.
- */
- var baseFor = createBaseFor();
-
- /**
- * This function is like `baseFor` except that it iterates over properties
- * in the opposite order.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {Function} keysFunc The function to get the keys of `object`.
- * @returns {Object} Returns `object`.
- */
- var baseForRight = createBaseFor(true);
-
- /**
- * The base implementation of `_.forOwn` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Object} Returns `object`.
- */
- function baseForOwn(object, iteratee) {
- return object && baseFor(object, iteratee, keys);
- }
-
- /**
- * The base implementation of `_.forOwnRight` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Object} Returns `object`.
- */
- function baseForOwnRight(object, iteratee) {
- return object && baseForRight(object, iteratee, keys);
- }
-
- /**
- * The base implementation of `_.functions` which creates an array of
- * `object` function property names filtered from `props`.
- *
- * @private
- * @param {Object} object The object to inspect.
- * @param {Array} props The property names to filter.
- * @returns {Array} Returns the function names.
- */
- function baseFunctions(object, props) {
- return arrayFilter(props, function(key) {
- return isFunction(object[key]);
- });
- }
-
- /**
- * The base implementation of `_.get` without support for default values.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @returns {*} Returns the resolved value.
- */
- function baseGet(object, path) {
- path = castPath(path, object);
-
- var index = 0,
- length = path.length;
-
- while (object != null && index < length) {
- object = object[toKey(path[index++])];
- }
- return (index && index == length) ? object : undefined;
- }
-
- /**
- * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
- * `keysFunc` and `symbolsFunc` to get the enumerable property names and
- * symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Function} keysFunc The function to get the keys of `object`.
- * @param {Function} symbolsFunc The function to get the symbols of `object`.
- * @returns {Array} Returns the array of property names and symbols.
- */
- function baseGetAllKeys(object, keysFunc, symbolsFunc) {
- var result = keysFunc(object);
- return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
- }
-
- /**
- * The base implementation of `getTag` without fallbacks for buggy environments.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */
- function baseGetTag(value) {
- if (value == null) {
- return value === undefined ? undefinedTag : nullTag;
- }
- return (symToStringTag && symToStringTag in Object(value))
- ? getRawTag(value)
- : objectToString(value);
- }
-
- /**
- * The base implementation of `_.gt` which doesn't coerce arguments.
- *
- * @private
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is greater than `other`,
- * else `false`.
- */
- function baseGt(value, other) {
- return value > other;
- }
-
- /**
- * The base implementation of `_.has` without support for deep paths.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {Array|string} key The key to check.
- * @returns {boolean} Returns `true` if `key` exists, else `false`.
- */
- function baseHas(object, key) {
- return object != null && hasOwnProperty.call(object, key);
- }
-
- /**
- * The base implementation of `_.hasIn` without support for deep paths.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {Array|string} key The key to check.
- * @returns {boolean} Returns `true` if `key` exists, else `false`.
- */
- function baseHasIn(object, key) {
- return object != null && key in Object(object);
- }
-
- /**
- * The base implementation of `_.inRange` which doesn't coerce arguments.
- *
- * @private
- * @param {number} number The number to check.
- * @param {number} start The start of the range.
- * @param {number} end The end of the range.
- * @returns {boolean} Returns `true` if `number` is in the range, else `false`.
- */
- function baseInRange(number, start, end) {
- return number >= nativeMin(start, end) && number < nativeMax(start, end);
- }
-
- /**
- * The base implementation of methods like `_.intersection`, without support
- * for iteratee shorthands, that accepts an array of arrays to inspect.
- *
- * @private
- * @param {Array} arrays The arrays to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of shared values.
- */
- function baseIntersection(arrays, iteratee, comparator) {
- var includes = comparator ? arrayIncludesWith : arrayIncludes,
- length = arrays[0].length,
- othLength = arrays.length,
- othIndex = othLength,
- caches = Array(othLength),
- maxLength = Infinity,
- result = [];
-
- while (othIndex--) {
- var array = arrays[othIndex];
- if (othIndex && iteratee) {
- array = arrayMap(array, baseUnary(iteratee));
- }
- maxLength = nativeMin(array.length, maxLength);
- caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))
- ? new SetCache(othIndex && array)
- : undefined;
- }
- array = arrays[0];
-
- var index = -1,
- seen = caches[0];
-
- outer:
- while (++index < length && result.length < maxLength) {
- var value = array[index],
- computed = iteratee ? iteratee(value) : value;
-
- value = (comparator || value !== 0) ? value : 0;
- if (!(seen
- ? cacheHas(seen, computed)
- : includes(result, computed, comparator)
- )) {
- othIndex = othLength;
- while (--othIndex) {
- var cache = caches[othIndex];
- if (!(cache
- ? cacheHas(cache, computed)
- : includes(arrays[othIndex], computed, comparator))
- ) {
- continue outer;
- }
- }
- if (seen) {
- seen.push(computed);
- }
- result.push(value);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.invert` and `_.invertBy` which inverts
- * `object` with values transformed by `iteratee` and set by `setter`.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} setter The function to set `accumulator` values.
- * @param {Function} iteratee The iteratee to transform values.
- * @param {Object} accumulator The initial inverted object.
- * @returns {Function} Returns `accumulator`.
- */
- function baseInverter(object, setter, iteratee, accumulator) {
- baseForOwn(object, function(value, key, object) {
- setter(accumulator, iteratee(value), key, object);
- });
- return accumulator;
- }
-
- /**
- * The base implementation of `_.invoke` without support for individual
- * method arguments.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the method to invoke.
- * @param {Array} args The arguments to invoke the method with.
- * @returns {*} Returns the result of the invoked method.
- */
- function baseInvoke(object, path, args) {
- path = castPath(path, object);
- object = parent(object, path);
- var func = object == null ? object : object[toKey(last(path))];
- return func == null ? undefined : apply(func, object, args);
- }
-
- /**
- * The base implementation of `_.isArguments`.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
- */
- function baseIsArguments(value) {
- return isObjectLike(value) && baseGetTag(value) == argsTag;
- }
-
- /**
- * The base implementation of `_.isArrayBuffer` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.
- */
- function baseIsArrayBuffer(value) {
- return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;
- }
-
- /**
- * The base implementation of `_.isDate` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
- */
- function baseIsDate(value) {
- return isObjectLike(value) && baseGetTag(value) == dateTag;
- }
-
- /**
- * The base implementation of `_.isEqual` which supports partial comparisons
- * and tracks traversed objects.
- *
- * @private
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @param {boolean} bitmask The bitmask flags.
- * 1 - Unordered comparison
- * 2 - Partial comparison
- * @param {Function} [customizer] The function to customize comparisons.
- * @param {Object} [stack] Tracks traversed `value` and `other` objects.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- */
- function baseIsEqual(value, other, bitmask, customizer, stack) {
- if (value === other) {
- return true;
- }
- if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
- return value !== value && other !== other;
- }
- return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
- }
-
- /**
- * A specialized version of `baseIsEqual` for arrays and objects which performs
- * deep comparisons and tracks traversed objects enabling objects with circular
- * references to be compared.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} [stack] Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */
- function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
- var objIsArr = isArray(object),
- othIsArr = isArray(other),
- objTag = objIsArr ? arrayTag : getTag(object),
- othTag = othIsArr ? arrayTag : getTag(other);
-
- objTag = objTag == argsTag ? objectTag : objTag;
- othTag = othTag == argsTag ? objectTag : othTag;
-
- var objIsObj = objTag == objectTag,
- othIsObj = othTag == objectTag,
- isSameTag = objTag == othTag;
-
- if (isSameTag && isBuffer(object)) {
- if (!isBuffer(other)) {
- return false;
- }
- objIsArr = true;
- objIsObj = false;
- }
- if (isSameTag && !objIsObj) {
- stack || (stack = new Stack);
- return (objIsArr || isTypedArray(object))
- ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
- : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
- }
- if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
- var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
- othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
-
- if (objIsWrapped || othIsWrapped) {
- var objUnwrapped = objIsWrapped ? object.value() : object,
- othUnwrapped = othIsWrapped ? other.value() : other;
-
- stack || (stack = new Stack);
- return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
- }
- }
- if (!isSameTag) {
- return false;
- }
- stack || (stack = new Stack);
- return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
- }
-
- /**
- * The base implementation of `_.isMap` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a map, else `false`.
- */
- function baseIsMap(value) {
- return isObjectLike(value) && getTag(value) == mapTag;
- }
-
- /**
- * The base implementation of `_.isMatch` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property values to match.
- * @param {Array} matchData The property names, values, and compare flags to match.
- * @param {Function} [customizer] The function to customize comparisons.
- * @returns {boolean} Returns `true` if `object` is a match, else `false`.
- */
- function baseIsMatch(object, source, matchData, customizer) {
- var index = matchData.length,
- length = index,
- noCustomizer = !customizer;
-
- if (object == null) {
- return !length;
- }
- object = Object(object);
- while (index--) {
- var data = matchData[index];
- if ((noCustomizer && data[2])
- ? data[1] !== object[data[0]]
- : !(data[0] in object)
- ) {
- return false;
- }
- }
- while (++index < length) {
- data = matchData[index];
- var key = data[0],
- objValue = object[key],
- srcValue = data[1];
-
- if (noCustomizer && data[2]) {
- if (objValue === undefined && !(key in object)) {
- return false;
- }
- } else {
- var stack = new Stack;
- if (customizer) {
- var result = customizer(objValue, srcValue, key, object, source, stack);
- }
- if (!(result === undefined
- ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
- : result
- )) {
- return false;
- }
- }
- }
- return true;
- }
-
- /**
- * The base implementation of `_.isNative` without bad shim checks.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- */
- function baseIsNative(value) {
- if (!isObject(value) || isMasked(value)) {
- return false;
- }
- var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
- return pattern.test(toSource(value));
- }
-
- /**
- * The base implementation of `_.isRegExp` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
- */
- function baseIsRegExp(value) {
- return isObjectLike(value) && baseGetTag(value) == regexpTag;
- }
-
- /**
- * The base implementation of `_.isSet` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a set, else `false`.
- */
- function baseIsSet(value) {
- return isObjectLike(value) && getTag(value) == setTag;
- }
-
- /**
- * The base implementation of `_.isTypedArray` without Node.js optimizations.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
- */
- function baseIsTypedArray(value) {
- return isObjectLike(value) &&
- isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
- }
-
- /**
- * The base implementation of `_.iteratee`.
- *
- * @private
- * @param {*} [value=_.identity] The value to convert to an iteratee.
- * @returns {Function} Returns the iteratee.
- */
- function baseIteratee(value) {
- // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
- // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
- if (typeof value == 'function') {
- return value;
- }
- if (value == null) {
- return identity;
- }
- if (typeof value == 'object') {
- return isArray(value)
- ? baseMatchesProperty(value[0], value[1])
- : baseMatches(value);
- }
- return property(value);
- }
-
- /**
- * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- */
- function baseKeys(object) {
- if (!isPrototype(object)) {
- return nativeKeys(object);
- }
- var result = [];
- for (var key in Object(object)) {
- if (hasOwnProperty.call(object, key) && key != 'constructor') {
- result.push(key);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- */
- function baseKeysIn(object) {
- if (!isObject(object)) {
- return nativeKeysIn(object);
- }
- var isProto = isPrototype(object),
- result = [];
-
- for (var key in object) {
- if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
- result.push(key);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.lt` which doesn't coerce arguments.
- *
- * @private
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is less than `other`,
- * else `false`.
- */
- function baseLt(value, other) {
- return value < other;
- }
-
- /**
- * The base implementation of `_.map` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the new mapped array.
- */
- function baseMap(collection, iteratee) {
- var index = -1,
- result = isArrayLike(collection) ? Array(collection.length) : [];
-
- baseEach(collection, function(value, key, collection) {
- result[++index] = iteratee(value, key, collection);
- });
- return result;
- }
-
- /**
- * The base implementation of `_.matches` which doesn't clone `source`.
- *
- * @private
- * @param {Object} source The object of property values to match.
- * @returns {Function} Returns the new spec function.
- */
- function baseMatches(source) {
- var matchData = getMatchData(source);
- if (matchData.length == 1 && matchData[0][2]) {
- return matchesStrictComparable(matchData[0][0], matchData[0][1]);
- }
- return function(object) {
- return object === source || baseIsMatch(object, source, matchData);
- };
- }
-
- /**
- * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
- *
- * @private
- * @param {string} path The path of the property to get.
- * @param {*} srcValue The value to match.
- * @returns {Function} Returns the new spec function.
- */
- function baseMatchesProperty(path, srcValue) {
- if (isKey(path) && isStrictComparable(srcValue)) {
- return matchesStrictComparable(toKey(path), srcValue);
- }
- return function(object) {
- var objValue = get(object, path);
- return (objValue === undefined && objValue === srcValue)
- ? hasIn(object, path)
- : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
- };
- }
-
- /**
- * The base implementation of `_.merge` without support for multiple sources.
- *
- * @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @param {number} srcIndex The index of `source`.
- * @param {Function} [customizer] The function to customize merged values.
- * @param {Object} [stack] Tracks traversed source values and their merged
- * counterparts.
- */
- function baseMerge(object, source, srcIndex, customizer, stack) {
- if (object === source) {
- return;
- }
- baseFor(source, function(srcValue, key) {
- if (isObject(srcValue)) {
- stack || (stack = new Stack);
- baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
- }
- else {
- var newValue = customizer
- ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)
- : undefined;
-
- if (newValue === undefined) {
- newValue = srcValue;
- }
- assignMergeValue(object, key, newValue);
- }
- }, keysIn);
- }
-
- /**
- * A specialized version of `baseMerge` for arrays and objects which performs
- * deep merges and tracks traversed objects enabling objects with circular
- * references to be merged.
- *
- * @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @param {string} key The key of the value to merge.
- * @param {number} srcIndex The index of `source`.
- * @param {Function} mergeFunc The function to merge values.
- * @param {Function} [customizer] The function to customize assigned values.
- * @param {Object} [stack] Tracks traversed source values and their merged
- * counterparts.
- */
- function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
- var objValue = safeGet(object, key),
- srcValue = safeGet(source, key),
- stacked = stack.get(srcValue);
-
- if (stacked) {
- assignMergeValue(object, key, stacked);
- return;
- }
- var newValue = customizer
- ? customizer(objValue, srcValue, (key + ''), object, source, stack)
- : undefined;
-
- var isCommon = newValue === undefined;
-
- if (isCommon) {
- var isArr = isArray(srcValue),
- isBuff = !isArr && isBuffer(srcValue),
- isTyped = !isArr && !isBuff && isTypedArray(srcValue);
-
- newValue = srcValue;
- if (isArr || isBuff || isTyped) {
- if (isArray(objValue)) {
- newValue = objValue;
- }
- else if (isArrayLikeObject(objValue)) {
- newValue = copyArray(objValue);
- }
- else if (isBuff) {
- isCommon = false;
- newValue = cloneBuffer(srcValue, true);
- }
- else if (isTyped) {
- isCommon = false;
- newValue = cloneTypedArray(srcValue, true);
- }
- else {
- newValue = [];
- }
- }
- else if (isPlainObject(srcValue) || isArguments(srcValue)) {
- newValue = objValue;
- if (isArguments(objValue)) {
- newValue = toPlainObject(objValue);
- }
- else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {
- newValue = initCloneObject(srcValue);
- }
- }
- else {
- isCommon = false;
- }
- }
- if (isCommon) {
- // Recursively merge objects and arrays (susceptible to call stack limits).
- stack.set(srcValue, newValue);
- mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
- stack['delete'](srcValue);
- }
- assignMergeValue(object, key, newValue);
- }
-
- /**
- * The base implementation of `_.nth` which doesn't coerce arguments.
- *
- * @private
- * @param {Array} array The array to query.
- * @param {number} n The index of the element to return.
- * @returns {*} Returns the nth element of `array`.
- */
- function baseNth(array, n) {
- var length = array.length;
- if (!length) {
- return;
- }
- n += n < 0 ? length : 0;
- return isIndex(n, length) ? array[n] : undefined;
- }
-
- /**
- * The base implementation of `_.orderBy` without param guards.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
- * @param {string[]} orders The sort orders of `iteratees`.
- * @returns {Array} Returns the new sorted array.
- */
- function baseOrderBy(collection, iteratees, orders) {
- var index = -1;
- iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee()));
-
- var result = baseMap(collection, function(value, key, collection) {
- var criteria = arrayMap(iteratees, function(iteratee) {
- return iteratee(value);
- });
- return { 'criteria': criteria, 'index': ++index, 'value': value };
- });
-
- return baseSortBy(result, function(object, other) {
- return compareMultiple(object, other, orders);
- });
- }
-
- /**
- * The base implementation of `_.pick` without support for individual
- * property identifiers.
- *
- * @private
- * @param {Object} object The source object.
- * @param {string[]} paths The property paths to pick.
- * @returns {Object} Returns the new object.
- */
- function basePick(object, paths) {
- return basePickBy(object, paths, function(value, path) {
- return hasIn(object, path);
- });
- }
-
- /**
- * The base implementation of `_.pickBy` without support for iteratee shorthands.
- *
- * @private
- * @param {Object} object The source object.
- * @param {string[]} paths The property paths to pick.
- * @param {Function} predicate The function invoked per property.
- * @returns {Object} Returns the new object.
- */
- function basePickBy(object, paths, predicate) {
- var index = -1,
- length = paths.length,
- result = {};
-
- while (++index < length) {
- var path = paths[index],
- value = baseGet(object, path);
-
- if (predicate(value, path)) {
- baseSet(result, castPath(path, object), value);
- }
- }
- return result;
- }
-
- /**
- * A specialized version of `baseProperty` which supports deep paths.
- *
- * @private
- * @param {Array|string} path The path of the property to get.
- * @returns {Function} Returns the new accessor function.
- */
- function basePropertyDeep(path) {
- return function(object) {
- return baseGet(object, path);
- };
- }
-
- /**
- * The base implementation of `_.pullAllBy` without support for iteratee
- * shorthands.
- *
- * @private
- * @param {Array} array The array to modify.
- * @param {Array} values The values to remove.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns `array`.
- */
- function basePullAll(array, values, iteratee, comparator) {
- var indexOf = comparator ? baseIndexOfWith : baseIndexOf,
- index = -1,
- length = values.length,
- seen = array;
-
- if (array === values) {
- values = copyArray(values);
- }
- if (iteratee) {
- seen = arrayMap(array, baseUnary(iteratee));
- }
- while (++index < length) {
- var fromIndex = 0,
- value = values[index],
- computed = iteratee ? iteratee(value) : value;
-
- while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {
- if (seen !== array) {
- splice.call(seen, fromIndex, 1);
- }
- splice.call(array, fromIndex, 1);
- }
- }
- return array;
- }
-
- /**
- * The base implementation of `_.pullAt` without support for individual
- * indexes or capturing the removed elements.
- *
- * @private
- * @param {Array} array The array to modify.
- * @param {number[]} indexes The indexes of elements to remove.
- * @returns {Array} Returns `array`.
- */
- function basePullAt(array, indexes) {
- var length = array ? indexes.length : 0,
- lastIndex = length - 1;
-
- while (length--) {
- var index = indexes[length];
- if (length == lastIndex || index !== previous) {
- var previous = index;
- if (isIndex(index)) {
- splice.call(array, index, 1);
- } else {
- baseUnset(array, index);
- }
- }
- }
- return array;
- }
-
- /**
- * The base implementation of `_.random` without support for returning
- * floating-point numbers.
- *
- * @private
- * @param {number} lower The lower bound.
- * @param {number} upper The upper bound.
- * @returns {number} Returns the random number.
- */
- function baseRandom(lower, upper) {
- return lower + nativeFloor(nativeRandom() * (upper - lower + 1));
- }
-
- /**
- * The base implementation of `_.range` and `_.rangeRight` which doesn't
- * coerce arguments.
- *
- * @private
- * @param {number} start The start of the range.
- * @param {number} end The end of the range.
- * @param {number} step The value to increment or decrement by.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Array} Returns the range of numbers.
- */
- function baseRange(start, end, step, fromRight) {
- var index = -1,
- length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
- result = Array(length);
-
- while (length--) {
- result[fromRight ? length : ++index] = start;
- start += step;
- }
- return result;
- }
-
- /**
- * The base implementation of `_.repeat` which doesn't coerce arguments.
- *
- * @private
- * @param {string} string The string to repeat.
- * @param {number} n The number of times to repeat the string.
- * @returns {string} Returns the repeated string.
- */
- function baseRepeat(string, n) {
- var result = '';
- if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
- return result;
- }
- // Leverage the exponentiation by squaring algorithm for a faster repeat.
- // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
- do {
- if (n % 2) {
- result += string;
- }
- n = nativeFloor(n / 2);
- if (n) {
- string += string;
- }
- } while (n);
-
- return result;
- }
-
- /**
- * The base implementation of `_.rest` which doesn't validate or coerce arguments.
- *
- * @private
- * @param {Function} func The function to apply a rest parameter to.
- * @param {number} [start=func.length-1] The start position of the rest parameter.
- * @returns {Function} Returns the new function.
- */
- function baseRest(func, start) {
- return setToString(overRest(func, start, identity), func + '');
- }
-
- /**
- * The base implementation of `_.sample`.
- *
- * @private
- * @param {Array|Object} collection The collection to sample.
- * @returns {*} Returns the random element.
- */
- function baseSample(collection) {
- return arraySample(values(collection));
- }
-
- /**
- * The base implementation of `_.sampleSize` without param guards.
- *
- * @private
- * @param {Array|Object} collection The collection to sample.
- * @param {number} n The number of elements to sample.
- * @returns {Array} Returns the random elements.
- */
- function baseSampleSize(collection, n) {
- var array = values(collection);
- return shuffleSelf(array, baseClamp(n, 0, array.length));
- }
-
- /**
- * The base implementation of `_.set`.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {*} value The value to set.
- * @param {Function} [customizer] The function to customize path creation.
- * @returns {Object} Returns `object`.
- */
- function baseSet(object, path, value, customizer) {
- if (!isObject(object)) {
- return object;
- }
- path = castPath(path, object);
-
- var index = -1,
- length = path.length,
- lastIndex = length - 1,
- nested = object;
-
- while (nested != null && ++index < length) {
- var key = toKey(path[index]),
- newValue = value;
-
- if (index != lastIndex) {
- var objValue = nested[key];
- newValue = customizer ? customizer(objValue, key, nested) : undefined;
- if (newValue === undefined) {
- newValue = isObject(objValue)
- ? objValue
- : (isIndex(path[index + 1]) ? [] : {});
- }
- }
- assignValue(nested, key, newValue);
- nested = nested[key];
- }
- return object;
- }
-
- /**
- * The base implementation of `setData` without support for hot loop shorting.
- *
- * @private
- * @param {Function} func The function to associate metadata with.
- * @param {*} data The metadata.
- * @returns {Function} Returns `func`.
- */
- var baseSetData = !metaMap ? identity : function(func, data) {
- metaMap.set(func, data);
- return func;
- };
-
- /**
- * The base implementation of `setToString` without support for hot loop shorting.
- *
- * @private
- * @param {Function} func The function to modify.
- * @param {Function} string The `toString` result.
- * @returns {Function} Returns `func`.
- */
- var baseSetToString = !defineProperty ? identity : function(func, string) {
- return defineProperty(func, 'toString', {
- 'configurable': true,
- 'enumerable': false,
- 'value': constant(string),
- 'writable': true
- });
- };
-
- /**
- * The base implementation of `_.shuffle`.
- *
- * @private
- * @param {Array|Object} collection The collection to shuffle.
- * @returns {Array} Returns the new shuffled array.
- */
- function baseShuffle(collection) {
- return shuffleSelf(values(collection));
- }
-
- /**
- * The base implementation of `_.slice` without an iteratee call guard.
- *
- * @private
- * @param {Array} array The array to slice.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the slice of `array`.
- */
- function baseSlice(array, start, end) {
- var index = -1,
- length = array.length;
-
- if (start < 0) {
- start = -start > length ? 0 : (length + start);
- }
- end = end > length ? length : end;
- if (end < 0) {
- end += length;
- }
- length = start > end ? 0 : ((end - start) >>> 0);
- start >>>= 0;
-
- var result = Array(length);
- while (++index < length) {
- result[index] = array[index + start];
- }
- return result;
- }
-
- /**
- * The base implementation of `_.some` without support for iteratee shorthands.
- *
- * @private
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if any element passes the predicate check,
- * else `false`.
- */
- function baseSome(collection, predicate) {
- var result;
-
- baseEach(collection, function(value, index, collection) {
- result = predicate(value, index, collection);
- return !result;
- });
- return !!result;
- }
-
- /**
- * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which
- * performs a binary search of `array` to determine the index at which `value`
- * should be inserted into `array` in order to maintain its sort order.
- *
- * @private
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @param {boolean} [retHighest] Specify returning the highest qualified index.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- */
- function baseSortedIndex(array, value, retHighest) {
- var low = 0,
- high = array == null ? low : array.length;
-
- if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
- while (low < high) {
- var mid = (low + high) >>> 1,
- computed = array[mid];
-
- if (computed !== null && !isSymbol(computed) &&
- (retHighest ? (computed <= value) : (computed < value))) {
- low = mid + 1;
- } else {
- high = mid;
- }
- }
- return high;
- }
- return baseSortedIndexBy(array, value, identity, retHighest);
- }
-
- /**
- * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`
- * which invokes `iteratee` for `value` and each element of `array` to compute
- * their sort ranking. The iteratee is invoked with one argument; (value).
- *
- * @private
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @param {Function} iteratee The iteratee invoked per element.
- * @param {boolean} [retHighest] Specify returning the highest qualified index.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- */
- function baseSortedIndexBy(array, value, iteratee, retHighest) {
- value = iteratee(value);
-
- var low = 0,
- high = array == null ? 0 : array.length,
- valIsNaN = value !== value,
- valIsNull = value === null,
- valIsSymbol = isSymbol(value),
- valIsUndefined = value === undefined;
-
- while (low < high) {
- var mid = nativeFloor((low + high) / 2),
- computed = iteratee(array[mid]),
- othIsDefined = computed !== undefined,
- othIsNull = computed === null,
- othIsReflexive = computed === computed,
- othIsSymbol = isSymbol(computed);
-
- if (valIsNaN) {
- var setLow = retHighest || othIsReflexive;
- } else if (valIsUndefined) {
- setLow = othIsReflexive && (retHighest || othIsDefined);
- } else if (valIsNull) {
- setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
- } else if (valIsSymbol) {
- setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
- } else if (othIsNull || othIsSymbol) {
- setLow = false;
- } else {
- setLow = retHighest ? (computed <= value) : (computed < value);
- }
- if (setLow) {
- low = mid + 1;
- } else {
- high = mid;
- }
- }
- return nativeMin(high, MAX_ARRAY_INDEX);
- }
-
- /**
- * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without
- * support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- */
- function baseSortedUniq(array, iteratee) {
- var index = -1,
- length = array.length,
- resIndex = 0,
- result = [];
-
- while (++index < length) {
- var value = array[index],
- computed = iteratee ? iteratee(value) : value;
-
- if (!index || !eq(computed, seen)) {
- var seen = computed;
- result[resIndex++] = value === 0 ? 0 : value;
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.toNumber` which doesn't ensure correct
- * conversions of binary, hexadecimal, or octal string values.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {number} Returns the number.
- */
- function baseToNumber(value) {
- if (typeof value == 'number') {
- return value;
- }
- if (isSymbol(value)) {
- return NAN;
- }
- return +value;
- }
-
- /**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
- function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isArray(value)) {
- // Recursively convert values (susceptible to call stack limits).
- return arrayMap(value, baseToString) + '';
- }
- if (isSymbol(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
- }
-
- /**
- * The base implementation of `_.uniqBy` without support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- */
- function baseUniq(array, iteratee, comparator) {
- var index = -1,
- includes = arrayIncludes,
- length = array.length,
- isCommon = true,
- result = [],
- seen = result;
-
- if (comparator) {
- isCommon = false;
- includes = arrayIncludesWith;
- }
- else if (length >= LARGE_ARRAY_SIZE) {
- var set = iteratee ? null : createSet(array);
- if (set) {
- return setToArray(set);
- }
- isCommon = false;
- includes = cacheHas;
- seen = new SetCache;
- }
- else {
- seen = iteratee ? [] : result;
- }
- outer:
- while (++index < length) {
- var value = array[index],
- computed = iteratee ? iteratee(value) : value;
-
- value = (comparator || value !== 0) ? value : 0;
- if (isCommon && computed === computed) {
- var seenIndex = seen.length;
- while (seenIndex--) {
- if (seen[seenIndex] === computed) {
- continue outer;
- }
- }
- if (iteratee) {
- seen.push(computed);
- }
- result.push(value);
- }
- else if (!includes(seen, computed, comparator)) {
- if (seen !== result) {
- seen.push(computed);
- }
- result.push(value);
- }
- }
- return result;
- }
-
- /**
- * The base implementation of `_.unset`.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {Array|string} path The property path to unset.
- * @returns {boolean} Returns `true` if the property is deleted, else `false`.
- */
- function baseUnset(object, path) {
- path = castPath(path, object);
- object = parent(object, path);
- return object == null || delete object[toKey(last(path))];
- }
-
- /**
- * The base implementation of `_.update`.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to update.
- * @param {Function} updater The function to produce the updated value.
- * @param {Function} [customizer] The function to customize path creation.
- * @returns {Object} Returns `object`.
- */
- function baseUpdate(object, path, updater, customizer) {
- return baseSet(object, path, updater(baseGet(object, path)), customizer);
- }
-
- /**
- * The base implementation of methods like `_.dropWhile` and `_.takeWhile`
- * without support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to query.
- * @param {Function} predicate The function invoked per iteration.
- * @param {boolean} [isDrop] Specify dropping elements instead of taking them.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Array} Returns the slice of `array`.
- */
- function baseWhile(array, predicate, isDrop, fromRight) {
- var length = array.length,
- index = fromRight ? length : -1;
-
- while ((fromRight ? index-- : ++index < length) &&
- predicate(array[index], index, array)) {}
-
- return isDrop
- ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))
- : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));
- }
-
- /**
- * The base implementation of `wrapperValue` which returns the result of
- * performing a sequence of actions on the unwrapped `value`, where each
- * successive action is supplied the return value of the previous.
- *
- * @private
- * @param {*} value The unwrapped value.
- * @param {Array} actions Actions to perform to resolve the unwrapped value.
- * @returns {*} Returns the resolved value.
- */
- function baseWrapperValue(value, actions) {
- var result = value;
- if (result instanceof LazyWrapper) {
- result = result.value();
- }
- return arrayReduce(actions, function(result, action) {
- return action.func.apply(action.thisArg, arrayPush([result], action.args));
- }, result);
- }
-
- /**
- * The base implementation of methods like `_.xor`, without support for
- * iteratee shorthands, that accepts an array of arrays to inspect.
- *
- * @private
- * @param {Array} arrays The arrays to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of values.
- */
- function baseXor(arrays, iteratee, comparator) {
- var length = arrays.length;
- if (length < 2) {
- return length ? baseUniq(arrays[0]) : [];
- }
- var index = -1,
- result = Array(length);
-
- while (++index < length) {
- var array = arrays[index],
- othIndex = -1;
-
- while (++othIndex < length) {
- if (othIndex != index) {
- result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);
- }
- }
- }
- return baseUniq(baseFlatten(result, 1), iteratee, comparator);
- }
-
- /**
- * This base implementation of `_.zipObject` which assigns values using `assignFunc`.
- *
- * @private
- * @param {Array} props The property identifiers.
- * @param {Array} values The property values.
- * @param {Function} assignFunc The function to assign values.
- * @returns {Object} Returns the new object.
- */
- function baseZipObject(props, values, assignFunc) {
- var index = -1,
- length = props.length,
- valsLength = values.length,
- result = {};
-
- while (++index < length) {
- var value = index < valsLength ? values[index] : undefined;
- assignFunc(result, props[index], value);
- }
- return result;
- }
-
- /**
- * Casts `value` to an empty array if it's not an array like object.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {Array|Object} Returns the cast array-like object.
- */
- function castArrayLikeObject(value) {
- return isArrayLikeObject(value) ? value : [];
- }
-
- /**
- * Casts `value` to `identity` if it's not a function.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {Function} Returns cast function.
- */
- function castFunction(value) {
- return typeof value == 'function' ? value : identity;
- }
-
- /**
- * Casts `value` to a path array if it's not one.
- *
- * @private
- * @param {*} value The value to inspect.
- * @param {Object} [object] The object to query keys on.
- * @returns {Array} Returns the cast property path array.
- */
- function castPath(value, object) {
- if (isArray(value)) {
- return value;
- }
- return isKey(value, object) ? [value] : stringToPath(toString(value));
- }
-
- /**
- * A `baseRest` alias which can be replaced with `identity` by module
- * replacement plugins.
- *
- * @private
- * @type {Function}
- * @param {Function} func The function to apply a rest parameter to.
- * @returns {Function} Returns the new function.
- */
- var castRest = baseRest;
-
- /**
- * Casts `array` to a slice if it's needed.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {number} start The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the cast slice.
- */
- function castSlice(array, start, end) {
- var length = array.length;
- end = end === undefined ? length : end;
- return (!start && end >= length) ? array : baseSlice(array, start, end);
- }
-
- /**
- * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).
- *
- * @private
- * @param {number|Object} id The timer id or timeout object of the timer to clear.
- */
- var clearTimeout = ctxClearTimeout || function(id) {
- return root.clearTimeout(id);
- };
-
- /**
- * Creates a clone of `buffer`.
- *
- * @private
- * @param {Buffer} buffer The buffer to clone.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Buffer} Returns the cloned buffer.
- */
- function cloneBuffer(buffer, isDeep) {
- if (isDeep) {
- return buffer.slice();
- }
- var length = buffer.length,
- result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
-
- buffer.copy(result);
- return result;
- }
-
- /**
- * Creates a clone of `arrayBuffer`.
- *
- * @private
- * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
- * @returns {ArrayBuffer} Returns the cloned array buffer.
- */
- function cloneArrayBuffer(arrayBuffer) {
- var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
- new Uint8Array(result).set(new Uint8Array(arrayBuffer));
- return result;
- }
-
- /**
- * Creates a clone of `dataView`.
- *
- * @private
- * @param {Object} dataView The data view to clone.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the cloned data view.
- */
- function cloneDataView(dataView, isDeep) {
- var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
- return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
- }
-
- /**
- * Creates a clone of `regexp`.
- *
- * @private
- * @param {Object} regexp The regexp to clone.
- * @returns {Object} Returns the cloned regexp.
- */
- function cloneRegExp(regexp) {
- var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
- result.lastIndex = regexp.lastIndex;
- return result;
- }
-
- /**
- * Creates a clone of the `symbol` object.
- *
- * @private
- * @param {Object} symbol The symbol object to clone.
- * @returns {Object} Returns the cloned symbol object.
- */
- function cloneSymbol(symbol) {
- return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
- }
-
- /**
- * Creates a clone of `typedArray`.
- *
- * @private
- * @param {Object} typedArray The typed array to clone.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the cloned typed array.
- */
- function cloneTypedArray(typedArray, isDeep) {
- var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
- return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
- }
-
- /**
- * Compares values to sort them in ascending order.
- *
- * @private
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {number} Returns the sort order indicator for `value`.
- */
- function compareAscending(value, other) {
- if (value !== other) {
- var valIsDefined = value !== undefined,
- valIsNull = value === null,
- valIsReflexive = value === value,
- valIsSymbol = isSymbol(value);
-
- var othIsDefined = other !== undefined,
- othIsNull = other === null,
- othIsReflexive = other === other,
- othIsSymbol = isSymbol(other);
-
- if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||
- (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||
- (valIsNull && othIsDefined && othIsReflexive) ||
- (!valIsDefined && othIsReflexive) ||
- !valIsReflexive) {
- return 1;
- }
- if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||
- (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||
- (othIsNull && valIsDefined && valIsReflexive) ||
- (!othIsDefined && valIsReflexive) ||
- !othIsReflexive) {
- return -1;
- }
- }
- return 0;
- }
-
- /**
- * Used by `_.orderBy` to compare multiple properties of a value to another
- * and stable sort them.
- *
- * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,
- * specify an order of "desc" for descending or "asc" for ascending sort order
- * of corresponding values.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {boolean[]|string[]} orders The order to sort by for each property.
- * @returns {number} Returns the sort order indicator for `object`.
- */
- function compareMultiple(object, other, orders) {
- var index = -1,
- objCriteria = object.criteria,
- othCriteria = other.criteria,
- length = objCriteria.length,
- ordersLength = orders.length;
-
- while (++index < length) {
- var result = compareAscending(objCriteria[index], othCriteria[index]);
- if (result) {
- if (index >= ordersLength) {
- return result;
- }
- var order = orders[index];
- return result * (order == 'desc' ? -1 : 1);
- }
- }
- // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
- // that causes it, under certain circumstances, to provide the same value for
- // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247
- // for more details.
- //
- // This also ensures a stable sort in V8 and other engines.
- // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.
- return object.index - other.index;
- }
-
- /**
- * Creates an array that is the composition of partially applied arguments,
- * placeholders, and provided arguments into a single array of arguments.
- *
- * @private
- * @param {Array} args The provided arguments.
- * @param {Array} partials The arguments to prepend to those provided.
- * @param {Array} holders The `partials` placeholder indexes.
- * @params {boolean} [isCurried] Specify composing for a curried function.
- * @returns {Array} Returns the new array of composed arguments.
- */
- function composeArgs(args, partials, holders, isCurried) {
- var argsIndex = -1,
- argsLength = args.length,
- holdersLength = holders.length,
- leftIndex = -1,
- leftLength = partials.length,
- rangeLength = nativeMax(argsLength - holdersLength, 0),
- result = Array(leftLength + rangeLength),
- isUncurried = !isCurried;
-
- while (++leftIndex < leftLength) {
- result[leftIndex] = partials[leftIndex];
- }
- while (++argsIndex < holdersLength) {
- if (isUncurried || argsIndex < argsLength) {
- result[holders[argsIndex]] = args[argsIndex];
- }
- }
- while (rangeLength--) {
- result[leftIndex++] = args[argsIndex++];
- }
- return result;
- }
-
- /**
- * This function is like `composeArgs` except that the arguments composition
- * is tailored for `_.partialRight`.
- *
- * @private
- * @param {Array} args The provided arguments.
- * @param {Array} partials The arguments to append to those provided.
- * @param {Array} holders The `partials` placeholder indexes.
- * @params {boolean} [isCurried] Specify composing for a curried function.
- * @returns {Array} Returns the new array of composed arguments.
- */
- function composeArgsRight(args, partials, holders, isCurried) {
- var argsIndex = -1,
- argsLength = args.length,
- holdersIndex = -1,
- holdersLength = holders.length,
- rightIndex = -1,
- rightLength = partials.length,
- rangeLength = nativeMax(argsLength - holdersLength, 0),
- result = Array(rangeLength + rightLength),
- isUncurried = !isCurried;
-
- while (++argsIndex < rangeLength) {
- result[argsIndex] = args[argsIndex];
- }
- var offset = argsIndex;
- while (++rightIndex < rightLength) {
- result[offset + rightIndex] = partials[rightIndex];
- }
- while (++holdersIndex < holdersLength) {
- if (isUncurried || argsIndex < argsLength) {
- result[offset + holders[holdersIndex]] = args[argsIndex++];
- }
- }
- return result;
- }
-
- /**
- * Copies the values of `source` to `array`.
- *
- * @private
- * @param {Array} source The array to copy values from.
- * @param {Array} [array=[]] The array to copy values to.
- * @returns {Array} Returns `array`.
- */
- function copyArray(source, array) {
- var index = -1,
- length = source.length;
-
- array || (array = Array(length));
- while (++index < length) {
- array[index] = source[index];
- }
- return array;
- }
-
- /**
- * Copies properties of `source` to `object`.
- *
- * @private
- * @param {Object} source The object to copy properties from.
- * @param {Array} props The property identifiers to copy.
- * @param {Object} [object={}] The object to copy properties to.
- * @param {Function} [customizer] The function to customize copied values.
- * @returns {Object} Returns `object`.
- */
- function copyObject(source, props, object, customizer) {
- var isNew = !object;
- object || (object = {});
-
- var index = -1,
- length = props.length;
-
- while (++index < length) {
- var key = props[index];
-
- var newValue = customizer
- ? customizer(object[key], source[key], key, object, source)
- : undefined;
-
- if (newValue === undefined) {
- newValue = source[key];
- }
- if (isNew) {
- baseAssignValue(object, key, newValue);
- } else {
- assignValue(object, key, newValue);
- }
- }
- return object;
- }
-
- /**
- * Copies own symbols of `source` to `object`.
- *
- * @private
- * @param {Object} source The object to copy symbols from.
- * @param {Object} [object={}] The object to copy symbols to.
- * @returns {Object} Returns `object`.
- */
- function copySymbols(source, object) {
- return copyObject(source, getSymbols(source), object);
- }
-
- /**
- * Copies own and inherited symbols of `source` to `object`.
- *
- * @private
- * @param {Object} source The object to copy symbols from.
- * @param {Object} [object={}] The object to copy symbols to.
- * @returns {Object} Returns `object`.
- */
- function copySymbolsIn(source, object) {
- return copyObject(source, getSymbolsIn(source), object);
- }
-
- /**
- * Creates a function like `_.groupBy`.
- *
- * @private
- * @param {Function} setter The function to set accumulator values.
- * @param {Function} [initializer] The accumulator object initializer.
- * @returns {Function} Returns the new aggregator function.
- */
- function createAggregator(setter, initializer) {
- return function(collection, iteratee) {
- var func = isArray(collection) ? arrayAggregator : baseAggregator,
- accumulator = initializer ? initializer() : {};
-
- return func(collection, setter, getIteratee(iteratee, 2), accumulator);
- };
- }
-
- /**
- * Creates a function like `_.assign`.
- *
- * @private
- * @param {Function} assigner The function to assign values.
- * @returns {Function} Returns the new assigner function.
- */
- function createAssigner(assigner) {
- return baseRest(function(object, sources) {
- var index = -1,
- length = sources.length,
- customizer = length > 1 ? sources[length - 1] : undefined,
- guard = length > 2 ? sources[2] : undefined;
-
- customizer = (assigner.length > 3 && typeof customizer == 'function')
- ? (length--, customizer)
- : undefined;
-
- if (guard && isIterateeCall(sources[0], sources[1], guard)) {
- customizer = length < 3 ? undefined : customizer;
- length = 1;
- }
- object = Object(object);
- while (++index < length) {
- var source = sources[index];
- if (source) {
- assigner(object, source, index, customizer);
- }
- }
- return object;
- });
- }
-
- /**
- * Creates a `baseEach` or `baseEachRight` function.
- *
- * @private
- * @param {Function} eachFunc The function to iterate over a collection.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Function} Returns the new base function.
- */
- function createBaseEach(eachFunc, fromRight) {
- return function(collection, iteratee) {
- if (collection == null) {
- return collection;
- }
- if (!isArrayLike(collection)) {
- return eachFunc(collection, iteratee);
- }
- var length = collection.length,
- index = fromRight ? length : -1,
- iterable = Object(collection);
-
- while ((fromRight ? index-- : ++index < length)) {
- if (iteratee(iterable[index], index, iterable) === false) {
- break;
- }
- }
- return collection;
- };
- }
-
- /**
- * Creates a base function for methods like `_.forIn` and `_.forOwn`.
- *
- * @private
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Function} Returns the new base function.
- */
- function createBaseFor(fromRight) {
- return function(object, iteratee, keysFunc) {
- var index = -1,
- iterable = Object(object),
- props = keysFunc(object),
- length = props.length;
-
- while (length--) {
- var key = props[fromRight ? length : ++index];
- if (iteratee(iterable[key], key, iterable) === false) {
- break;
- }
- }
- return object;
- };
- }
-
- /**
- * Creates a function that wraps `func` to invoke it with the optional `this`
- * binding of `thisArg`.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @returns {Function} Returns the new wrapped function.
- */
- function createBind(func, bitmask, thisArg) {
- var isBind = bitmask & WRAP_BIND_FLAG,
- Ctor = createCtor(func);
-
- function wrapper() {
- var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
- return fn.apply(isBind ? thisArg : this, arguments);
- }
- return wrapper;
- }
-
- /**
- * Creates a function like `_.lowerFirst`.
- *
- * @private
- * @param {string} methodName The name of the `String` case method to use.
- * @returns {Function} Returns the new case function.
- */
- function createCaseFirst(methodName) {
- return function(string) {
- string = toString(string);
-
- var strSymbols = hasUnicode(string)
- ? stringToArray(string)
- : undefined;
-
- var chr = strSymbols
- ? strSymbols[0]
- : string.charAt(0);
-
- var trailing = strSymbols
- ? castSlice(strSymbols, 1).join('')
- : string.slice(1);
-
- return chr[methodName]() + trailing;
- };
- }
-
- /**
- * Creates a function like `_.camelCase`.
- *
- * @private
- * @param {Function} callback The function to combine each word.
- * @returns {Function} Returns the new compounder function.
- */
- function createCompounder(callback) {
- return function(string) {
- return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
- };
- }
-
- /**
- * Creates a function that produces an instance of `Ctor` regardless of
- * whether it was invoked as part of a `new` expression or by `call` or `apply`.
- *
- * @private
- * @param {Function} Ctor The constructor to wrap.
- * @returns {Function} Returns the new wrapped function.
- */
- function createCtor(Ctor) {
- return function() {
- // Use a `switch` statement to work with class constructors. See
- // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
- // for more details.
- var args = arguments;
- switch (args.length) {
- case 0: return new Ctor;
- case 1: return new Ctor(args[0]);
- case 2: return new Ctor(args[0], args[1]);
- case 3: return new Ctor(args[0], args[1], args[2]);
- case 4: return new Ctor(args[0], args[1], args[2], args[3]);
- case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
- case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
- case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
- }
- var thisBinding = baseCreate(Ctor.prototype),
- result = Ctor.apply(thisBinding, args);
-
- // Mimic the constructor's `return` behavior.
- // See https://es5.github.io/#x13.2.2 for more details.
- return isObject(result) ? result : thisBinding;
- };
- }
-
- /**
- * Creates a function that wraps `func` to enable currying.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @param {number} arity The arity of `func`.
- * @returns {Function} Returns the new wrapped function.
- */
- function createCurry(func, bitmask, arity) {
- var Ctor = createCtor(func);
-
- function wrapper() {
- var length = arguments.length,
- args = Array(length),
- index = length,
- placeholder = getHolder(wrapper);
-
- while (index--) {
- args[index] = arguments[index];
- }
- var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)
- ? []
- : replaceHolders(args, placeholder);
-
- length -= holders.length;
- if (length < arity) {
- return createRecurry(
- func, bitmask, createHybrid, wrapper.placeholder, undefined,
- args, holders, undefined, undefined, arity - length);
- }
- var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
- return apply(fn, this, args);
- }
- return wrapper;
- }
-
- /**
- * Creates a `_.find` or `_.findLast` function.
- *
- * @private
- * @param {Function} findIndexFunc The function to find the collection index.
- * @returns {Function} Returns the new find function.
- */
- function createFind(findIndexFunc) {
- return function(collection, predicate, fromIndex) {
- var iterable = Object(collection);
- if (!isArrayLike(collection)) {
- var iteratee = getIteratee(predicate, 3);
- collection = keys(collection);
- predicate = function(key) { return iteratee(iterable[key], key, iterable); };
- }
- var index = findIndexFunc(collection, predicate, fromIndex);
- return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
- };
- }
-
- /**
- * Creates a `_.flow` or `_.flowRight` function.
- *
- * @private
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Function} Returns the new flow function.
- */
- function createFlow(fromRight) {
- return flatRest(function(funcs) {
- var length = funcs.length,
- index = length,
- prereq = LodashWrapper.prototype.thru;
-
- if (fromRight) {
- funcs.reverse();
- }
- while (index--) {
- var func = funcs[index];
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- if (prereq && !wrapper && getFuncName(func) == 'wrapper') {
- var wrapper = new LodashWrapper([], true);
- }
- }
- index = wrapper ? index : length;
- while (++index < length) {
- func = funcs[index];
-
- var funcName = getFuncName(func),
- data = funcName == 'wrapper' ? getData(func) : undefined;
-
- if (data && isLaziable(data[0]) &&
- data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&
- !data[4].length && data[9] == 1
- ) {
- wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
- } else {
- wrapper = (func.length == 1 && isLaziable(func))
- ? wrapper[funcName]()
- : wrapper.thru(func);
- }
- }
- return function() {
- var args = arguments,
- value = args[0];
-
- if (wrapper && args.length == 1 && isArray(value)) {
- return wrapper.plant(value).value();
- }
- var index = 0,
- result = length ? funcs[index].apply(this, args) : value;
-
- while (++index < length) {
- result = funcs[index].call(this, result);
- }
- return result;
- };
- });
- }
-
- /**
- * Creates a function that wraps `func` to invoke it with optional `this`
- * binding of `thisArg`, partial application, and currying.
- *
- * @private
- * @param {Function|string} func The function or method name to wrap.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {Array} [partials] The arguments to prepend to those provided to
- * the new function.
- * @param {Array} [holders] The `partials` placeholder indexes.
- * @param {Array} [partialsRight] The arguments to append to those provided
- * to the new function.
- * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.
- * @param {Array} [argPos] The argument positions of the new function.
- * @param {number} [ary] The arity cap of `func`.
- * @param {number} [arity] The arity of `func`.
- * @returns {Function} Returns the new wrapped function.
- */
- function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
- var isAry = bitmask & WRAP_ARY_FLAG,
- isBind = bitmask & WRAP_BIND_FLAG,
- isBindKey = bitmask & WRAP_BIND_KEY_FLAG,
- isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),
- isFlip = bitmask & WRAP_FLIP_FLAG,
- Ctor = isBindKey ? undefined : createCtor(func);
-
- function wrapper() {
- var length = arguments.length,
- args = Array(length),
- index = length;
-
- while (index--) {
- args[index] = arguments[index];
- }
- if (isCurried) {
- var placeholder = getHolder(wrapper),
- holdersCount = countHolders(args, placeholder);
- }
- if (partials) {
- args = composeArgs(args, partials, holders, isCurried);
- }
- if (partialsRight) {
- args = composeArgsRight(args, partialsRight, holdersRight, isCurried);
- }
- length -= holdersCount;
- if (isCurried && length < arity) {
- var newHolders = replaceHolders(args, placeholder);
- return createRecurry(
- func, bitmask, createHybrid, wrapper.placeholder, thisArg,
- args, newHolders, argPos, ary, arity - length
- );
- }
- var thisBinding = isBind ? thisArg : this,
- fn = isBindKey ? thisBinding[func] : func;
-
- length = args.length;
- if (argPos) {
- args = reorder(args, argPos);
- } else if (isFlip && length > 1) {
- args.reverse();
- }
- if (isAry && ary < length) {
- args.length = ary;
- }
- if (this && this !== root && this instanceof wrapper) {
- fn = Ctor || createCtor(fn);
- }
- return fn.apply(thisBinding, args);
- }
- return wrapper;
- }
-
- /**
- * Creates a function like `_.invertBy`.
- *
- * @private
- * @param {Function} setter The function to set accumulator values.
- * @param {Function} toIteratee The function to resolve iteratees.
- * @returns {Function} Returns the new inverter function.
- */
- function createInverter(setter, toIteratee) {
- return function(object, iteratee) {
- return baseInverter(object, setter, toIteratee(iteratee), {});
- };
- }
-
- /**
- * Creates a function that performs a mathematical operation on two values.
- *
- * @private
- * @param {Function} operator The function to perform the operation.
- * @param {number} [defaultValue] The value used for `undefined` arguments.
- * @returns {Function} Returns the new mathematical operation function.
- */
- function createMathOperation(operator, defaultValue) {
- return function(value, other) {
- var result;
- if (value === undefined && other === undefined) {
- return defaultValue;
- }
- if (value !== undefined) {
- result = value;
- }
- if (other !== undefined) {
- if (result === undefined) {
- return other;
- }
- if (typeof value == 'string' || typeof other == 'string') {
- value = baseToString(value);
- other = baseToString(other);
- } else {
- value = baseToNumber(value);
- other = baseToNumber(other);
- }
- result = operator(value, other);
- }
- return result;
- };
- }
-
- /**
- * Creates a function like `_.over`.
- *
- * @private
- * @param {Function} arrayFunc The function to iterate over iteratees.
- * @returns {Function} Returns the new over function.
- */
- function createOver(arrayFunc) {
- return flatRest(function(iteratees) {
- iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
- return baseRest(function(args) {
- var thisArg = this;
- return arrayFunc(iteratees, function(iteratee) {
- return apply(iteratee, thisArg, args);
- });
- });
- });
- }
-
- /**
- * Creates the padding for `string` based on `length`. The `chars` string
- * is truncated if the number of characters exceeds `length`.
- *
- * @private
- * @param {number} length The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padding for `string`.
- */
- function createPadding(length, chars) {
- chars = chars === undefined ? ' ' : baseToString(chars);
-
- var charsLength = chars.length;
- if (charsLength < 2) {
- return charsLength ? baseRepeat(chars, length) : chars;
- }
- var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
- return hasUnicode(chars)
- ? castSlice(stringToArray(result), 0, length).join('')
- : result.slice(0, length);
- }
-
- /**
- * Creates a function that wraps `func` to invoke it with the `this` binding
- * of `thisArg` and `partials` prepended to the arguments it receives.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @param {*} thisArg The `this` binding of `func`.
- * @param {Array} partials The arguments to prepend to those provided to
- * the new function.
- * @returns {Function} Returns the new wrapped function.
- */
- function createPartial(func, bitmask, thisArg, partials) {
- var isBind = bitmask & WRAP_BIND_FLAG,
- Ctor = createCtor(func);
-
- function wrapper() {
- var argsIndex = -1,
- argsLength = arguments.length,
- leftIndex = -1,
- leftLength = partials.length,
- args = Array(leftLength + argsLength),
- fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
-
- while (++leftIndex < leftLength) {
- args[leftIndex] = partials[leftIndex];
- }
- while (argsLength--) {
- args[leftIndex++] = arguments[++argsIndex];
- }
- return apply(fn, isBind ? thisArg : this, args);
- }
- return wrapper;
- }
-
- /**
- * Creates a `_.range` or `_.rangeRight` function.
- *
- * @private
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Function} Returns the new range function.
- */
- function createRange(fromRight) {
- return function(start, end, step) {
- if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
- end = step = undefined;
- }
- // Ensure the sign of `-0` is preserved.
- start = toFinite(start);
- if (end === undefined) {
- end = start;
- start = 0;
- } else {
- end = toFinite(end);
- }
- step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
- return baseRange(start, end, step, fromRight);
- };
- }
-
- /**
- * Creates a function that performs a relational operation on two values.
- *
- * @private
- * @param {Function} operator The function to perform the operation.
- * @returns {Function} Returns the new relational operation function.
- */
- function createRelationalOperation(operator) {
- return function(value, other) {
- if (!(typeof value == 'string' && typeof other == 'string')) {
- value = toNumber(value);
- other = toNumber(other);
- }
- return operator(value, other);
- };
- }
-
- /**
- * Creates a function that wraps `func` to continue currying.
- *
- * @private
- * @param {Function} func The function to wrap.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @param {Function} wrapFunc The function to create the `func` wrapper.
- * @param {*} placeholder The placeholder value.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {Array} [partials] The arguments to prepend to those provided to
- * the new function.
- * @param {Array} [holders] The `partials` placeholder indexes.
- * @param {Array} [argPos] The argument positions of the new function.
- * @param {number} [ary] The arity cap of `func`.
- * @param {number} [arity] The arity of `func`.
- * @returns {Function} Returns the new wrapped function.
- */
- function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
- var isCurry = bitmask & WRAP_CURRY_FLAG,
- newHolders = isCurry ? holders : undefined,
- newHoldersRight = isCurry ? undefined : holders,
- newPartials = isCurry ? partials : undefined,
- newPartialsRight = isCurry ? undefined : partials;
-
- bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
- bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
-
- if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
- bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
- }
- var newData = [
- func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
- newHoldersRight, argPos, ary, arity
- ];
-
- var result = wrapFunc.apply(undefined, newData);
- if (isLaziable(func)) {
- setData(result, newData);
- }
- result.placeholder = placeholder;
- return setWrapToString(result, func, bitmask);
- }
-
- /**
- * Creates a function like `_.round`.
- *
- * @private
- * @param {string} methodName The name of the `Math` method to use when rounding.
- * @returns {Function} Returns the new round function.
- */
- function createRound(methodName) {
- var func = Math[methodName];
- return function(number, precision) {
- number = toNumber(number);
- precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);
- if (precision) {
- // Shift with exponential notation to avoid floating-point issues.
- // See [MDN](https://mdn.io/round#Examples) for more details.
- var pair = (toString(number) + 'e').split('e'),
- value = func(pair[0] + 'e' + (+pair[1] + precision));
-
- pair = (toString(value) + 'e').split('e');
- return +(pair[0] + 'e' + (+pair[1] - precision));
- }
- return func(number);
- };
- }
-
- /**
- * Creates a set object of `values`.
- *
- * @private
- * @param {Array} values The values to add to the set.
- * @returns {Object} Returns the new set.
- */
- var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
- return new Set(values);
- };
-
- /**
- * Creates a `_.toPairs` or `_.toPairsIn` function.
- *
- * @private
- * @param {Function} keysFunc The function to get the keys of a given object.
- * @returns {Function} Returns the new pairs function.
- */
- function createToPairs(keysFunc) {
- return function(object) {
- var tag = getTag(object);
- if (tag == mapTag) {
- return mapToArray(object);
- }
- if (tag == setTag) {
- return setToPairs(object);
- }
- return baseToPairs(object, keysFunc(object));
- };
- }
-
- /**
- * Creates a function that either curries or invokes `func` with optional
- * `this` binding and partially applied arguments.
- *
- * @private
- * @param {Function|string} func The function or method name to wrap.
- * @param {number} bitmask The bitmask flags.
- * 1 - `_.bind`
- * 2 - `_.bindKey`
- * 4 - `_.curry` or `_.curryRight` of a bound function
- * 8 - `_.curry`
- * 16 - `_.curryRight`
- * 32 - `_.partial`
- * 64 - `_.partialRight`
- * 128 - `_.rearg`
- * 256 - `_.ary`
- * 512 - `_.flip`
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {Array} [partials] The arguments to be partially applied.
- * @param {Array} [holders] The `partials` placeholder indexes.
- * @param {Array} [argPos] The argument positions of the new function.
- * @param {number} [ary] The arity cap of `func`.
- * @param {number} [arity] The arity of `func`.
- * @returns {Function} Returns the new wrapped function.
- */
- function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
- var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
- if (!isBindKey && typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- var length = partials ? partials.length : 0;
- if (!length) {
- bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
- partials = holders = undefined;
- }
- ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
- arity = arity === undefined ? arity : toInteger(arity);
- length -= holders ? holders.length : 0;
-
- if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
- var partialsRight = partials,
- holdersRight = holders;
-
- partials = holders = undefined;
- }
- var data = isBindKey ? undefined : getData(func);
-
- var newData = [
- func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,
- argPos, ary, arity
- ];
-
- if (data) {
- mergeData(newData, data);
- }
- func = newData[0];
- bitmask = newData[1];
- thisArg = newData[2];
- partials = newData[3];
- holders = newData[4];
- arity = newData[9] = newData[9] === undefined
- ? (isBindKey ? 0 : func.length)
- : nativeMax(newData[9] - length, 0);
-
- if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
- bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
- }
- if (!bitmask || bitmask == WRAP_BIND_FLAG) {
- var result = createBind(func, bitmask, thisArg);
- } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
- result = createCurry(func, bitmask, arity);
- } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
- result = createPartial(func, bitmask, thisArg, partials);
- } else {
- result = createHybrid.apply(undefined, newData);
- }
- var setter = data ? baseSetData : setData;
- return setWrapToString(setter(result, newData), func, bitmask);
- }
-
- /**
- * Used by `_.defaults` to customize its `_.assignIn` use to assign properties
- * of source objects to the destination object for all destination properties
- * that resolve to `undefined`.
- *
- * @private
- * @param {*} objValue The destination value.
- * @param {*} srcValue The source value.
- * @param {string} key The key of the property to assign.
- * @param {Object} object The parent object of `objValue`.
- * @returns {*} Returns the value to assign.
- */
- function customDefaultsAssignIn(objValue, srcValue, key, object) {
- if (objValue === undefined ||
- (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {
- return srcValue;
- }
- return objValue;
- }
-
- /**
- * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source
- * objects into destination objects that are passed thru.
- *
- * @private
- * @param {*} objValue The destination value.
- * @param {*} srcValue The source value.
- * @param {string} key The key of the property to merge.
- * @param {Object} object The parent object of `objValue`.
- * @param {Object} source The parent object of `srcValue`.
- * @param {Object} [stack] Tracks traversed source values and their merged
- * counterparts.
- * @returns {*} Returns the value to assign.
- */
- function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {
- if (isObject(objValue) && isObject(srcValue)) {
- // Recursively merge objects and arrays (susceptible to call stack limits).
- stack.set(srcValue, objValue);
- baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);
- stack['delete'](srcValue);
- }
- return objValue;
- }
-
- /**
- * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain
- * objects.
- *
- * @private
- * @param {*} value The value to inspect.
- * @param {string} key The key of the property to inspect.
- * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.
- */
- function customOmitClone(value) {
- return isPlainObject(value) ? undefined : value;
- }
-
- /**
- * A specialized version of `baseIsEqualDeep` for arrays with support for
- * partial deep comparisons.
- *
- * @private
- * @param {Array} array The array to compare.
- * @param {Array} other The other array to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} stack Tracks traversed `array` and `other` objects.
- * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
- */
- function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
- arrLength = array.length,
- othLength = other.length;
-
- if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
- return false;
- }
- // Assume cyclic values are equal.
- var stacked = stack.get(array);
- if (stacked && stack.get(other)) {
- return stacked == other;
- }
- var index = -1,
- result = true,
- seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
-
- stack.set(array, other);
- stack.set(other, array);
-
- // Ignore non-index properties.
- while (++index < arrLength) {
- var arrValue = array[index],
- othValue = other[index];
-
- if (customizer) {
- var compared = isPartial
- ? customizer(othValue, arrValue, index, other, array, stack)
- : customizer(arrValue, othValue, index, array, other, stack);
- }
- if (compared !== undefined) {
- if (compared) {
- continue;
- }
- result = false;
- break;
- }
- // Recursively compare arrays (susceptible to call stack limits).
- if (seen) {
- if (!arraySome(other, function(othValue, othIndex) {
- if (!cacheHas(seen, othIndex) &&
- (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
- return seen.push(othIndex);
- }
- })) {
- result = false;
- break;
- }
- } else if (!(
- arrValue === othValue ||
- equalFunc(arrValue, othValue, bitmask, customizer, stack)
- )) {
- result = false;
- break;
- }
- }
- stack['delete'](array);
- stack['delete'](other);
- return result;
- }
-
- /**
- * A specialized version of `baseIsEqualDeep` for comparing objects of
- * the same `toStringTag`.
- *
- * **Note:** This function only supports comparing values with tags of
- * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {string} tag The `toStringTag` of the objects to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} stack Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */
- function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
- switch (tag) {
- case dataViewTag:
- if ((object.byteLength != other.byteLength) ||
- (object.byteOffset != other.byteOffset)) {
- return false;
- }
- object = object.buffer;
- other = other.buffer;
-
- case arrayBufferTag:
- if ((object.byteLength != other.byteLength) ||
- !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
- return false;
- }
- return true;
-
- case boolTag:
- case dateTag:
- case numberTag:
- // Coerce booleans to `1` or `0` and dates to milliseconds.
- // Invalid dates are coerced to `NaN`.
- return eq(+object, +other);
-
- case errorTag:
- return object.name == other.name && object.message == other.message;
-
- case regexpTag:
- case stringTag:
- // Coerce regexes to strings and treat strings, primitives and objects,
- // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
- // for more details.
- return object == (other + '');
-
- case mapTag:
- var convert = mapToArray;
-
- case setTag:
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
- convert || (convert = setToArray);
-
- if (object.size != other.size && !isPartial) {
- return false;
- }
- // Assume cyclic values are equal.
- var stacked = stack.get(object);
- if (stacked) {
- return stacked == other;
- }
- bitmask |= COMPARE_UNORDERED_FLAG;
-
- // Recursively compare objects (susceptible to call stack limits).
- stack.set(object, other);
- var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
- stack['delete'](object);
- return result;
-
- case symbolTag:
- if (symbolValueOf) {
- return symbolValueOf.call(object) == symbolValueOf.call(other);
- }
- }
- return false;
- }
-
- /**
- * A specialized version of `baseIsEqualDeep` for objects with support for
- * partial deep comparisons.
- *
- * @private
- * @param {Object} object The object to compare.
- * @param {Object} other The other object to compare.
- * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
- * @param {Function} customizer The function to customize comparisons.
- * @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Object} stack Tracks traversed `object` and `other` objects.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
- */
- function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
- objProps = getAllKeys(object),
- objLength = objProps.length,
- othProps = getAllKeys(other),
- othLength = othProps.length;
-
- if (objLength != othLength && !isPartial) {
- return false;
- }
- var index = objLength;
- while (index--) {
- var key = objProps[index];
- if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
- return false;
- }
- }
- // Assume cyclic values are equal.
- var stacked = stack.get(object);
- if (stacked && stack.get(other)) {
- return stacked == other;
- }
- var result = true;
- stack.set(object, other);
- stack.set(other, object);
-
- var skipCtor = isPartial;
- while (++index < objLength) {
- key = objProps[index];
- var objValue = object[key],
- othValue = other[key];
-
- if (customizer) {
- var compared = isPartial
- ? customizer(othValue, objValue, key, other, object, stack)
- : customizer(objValue, othValue, key, object, other, stack);
- }
- // Recursively compare objects (susceptible to call stack limits).
- if (!(compared === undefined
- ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
- : compared
- )) {
- result = false;
- break;
- }
- skipCtor || (skipCtor = key == 'constructor');
- }
- if (result && !skipCtor) {
- var objCtor = object.constructor,
- othCtor = other.constructor;
-
- // Non `Object` object instances with different constructors are not equal.
- if (objCtor != othCtor &&
- ('constructor' in object && 'constructor' in other) &&
- !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
- typeof othCtor == 'function' && othCtor instanceof othCtor)) {
- result = false;
- }
- }
- stack['delete'](object);
- stack['delete'](other);
- return result;
- }
-
- /**
- * A specialized version of `baseRest` which flattens the rest array.
- *
- * @private
- * @param {Function} func The function to apply a rest parameter to.
- * @returns {Function} Returns the new function.
- */
- function flatRest(func) {
- return setToString(overRest(func, undefined, flatten), func + '');
- }
-
- /**
- * Creates an array of own enumerable property names and symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names and symbols.
- */
- function getAllKeys(object) {
- return baseGetAllKeys(object, keys, getSymbols);
- }
-
- /**
- * Creates an array of own and inherited enumerable property names and
- * symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names and symbols.
- */
- function getAllKeysIn(object) {
- return baseGetAllKeys(object, keysIn, getSymbolsIn);
- }
-
- /**
- * Gets metadata for `func`.
- *
- * @private
- * @param {Function} func The function to query.
- * @returns {*} Returns the metadata for `func`.
- */
- var getData = !metaMap ? noop : function(func) {
- return metaMap.get(func);
- };
-
- /**
- * Gets the name of `func`.
- *
- * @private
- * @param {Function} func The function to query.
- * @returns {string} Returns the function name.
- */
- function getFuncName(func) {
- var result = (func.name + ''),
- array = realNames[result],
- length = hasOwnProperty.call(realNames, result) ? array.length : 0;
-
- while (length--) {
- var data = array[length],
- otherFunc = data.func;
- if (otherFunc == null || otherFunc == func) {
- return data.name;
- }
- }
- return result;
- }
-
- /**
- * Gets the argument placeholder value for `func`.
- *
- * @private
- * @param {Function} func The function to inspect.
- * @returns {*} Returns the placeholder value.
- */
- function getHolder(func) {
- var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;
- return object.placeholder;
- }
-
- /**
- * Gets the appropriate "iteratee" function. If `_.iteratee` is customized,
- * this function returns the custom method, otherwise it returns `baseIteratee`.
- * If arguments are provided, the chosen function is invoked with them and
- * its result is returned.
- *
- * @private
- * @param {*} [value] The value to convert to an iteratee.
- * @param {number} [arity] The arity of the created iteratee.
- * @returns {Function} Returns the chosen function or its result.
- */
- function getIteratee() {
- var result = lodash.iteratee || iteratee;
- result = result === iteratee ? baseIteratee : result;
- return arguments.length ? result(arguments[0], arguments[1]) : result;
- }
-
- /**
- * Gets the data for `map`.
- *
- * @private
- * @param {Object} map The map to query.
- * @param {string} key The reference key.
- * @returns {*} Returns the map data.
- */
- function getMapData(map, key) {
- var data = map.__data__;
- return isKeyable(key)
- ? data[typeof key == 'string' ? 'string' : 'hash']
- : data.map;
- }
-
- /**
- * Gets the property names, values, and compare flags of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the match data of `object`.
- */
- function getMatchData(object) {
- var result = keys(object),
- length = result.length;
-
- while (length--) {
- var key = result[length],
- value = object[key];
-
- result[length] = [key, value, isStrictComparable(value)];
- }
- return result;
- }
-
- /**
- * Gets the native function at `key` of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {string} key The key of the method to get.
- * @returns {*} Returns the function if it's native, else `undefined`.
- */
- function getNative(object, key) {
- var value = getValue(object, key);
- return baseIsNative(value) ? value : undefined;
- }
-
- /**
- * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the raw `toStringTag`.
- */
- function getRawTag(value) {
- var isOwn = hasOwnProperty.call(value, symToStringTag),
- tag = value[symToStringTag];
-
- try {
- value[symToStringTag] = undefined;
- var unmasked = true;
- } catch (e) {}
-
- var result = nativeObjectToString.call(value);
- if (unmasked) {
- if (isOwn) {
- value[symToStringTag] = tag;
- } else {
- delete value[symToStringTag];
- }
- }
- return result;
- }
-
- /**
- * Creates an array of the own enumerable symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of symbols.
- */
- var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
- if (object == null) {
- return [];
- }
- object = Object(object);
- return arrayFilter(nativeGetSymbols(object), function(symbol) {
- return propertyIsEnumerable.call(object, symbol);
- });
- };
-
- /**
- * Creates an array of the own and inherited enumerable symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of symbols.
- */
- var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
- var result = [];
- while (object) {
- arrayPush(result, getSymbols(object));
- object = getPrototype(object);
- }
- return result;
- };
-
- /**
- * Gets the `toStringTag` of `value`.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */
- var getTag = baseGetTag;
-
- // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
- if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
- (Map && getTag(new Map) != mapTag) ||
- (Promise && getTag(Promise.resolve()) != promiseTag) ||
- (Set && getTag(new Set) != setTag) ||
- (WeakMap && getTag(new WeakMap) != weakMapTag)) {
- getTag = function(value) {
- var result = baseGetTag(value),
- Ctor = result == objectTag ? value.constructor : undefined,
- ctorString = Ctor ? toSource(Ctor) : '';
-
- if (ctorString) {
- switch (ctorString) {
- case dataViewCtorString: return dataViewTag;
- case mapCtorString: return mapTag;
- case promiseCtorString: return promiseTag;
- case setCtorString: return setTag;
- case weakMapCtorString: return weakMapTag;
- }
- }
- return result;
- };
- }
-
- /**
- * Gets the view, applying any `transforms` to the `start` and `end` positions.
- *
- * @private
- * @param {number} start The start of the view.
- * @param {number} end The end of the view.
- * @param {Array} transforms The transformations to apply to the view.
- * @returns {Object} Returns an object containing the `start` and `end`
- * positions of the view.
- */
- function getView(start, end, transforms) {
- var index = -1,
- length = transforms.length;
-
- while (++index < length) {
- var data = transforms[index],
- size = data.size;
-
- switch (data.type) {
- case 'drop': start += size; break;
- case 'dropRight': end -= size; break;
- case 'take': end = nativeMin(end, start + size); break;
- case 'takeRight': start = nativeMax(start, end - size); break;
- }
- }
- return { 'start': start, 'end': end };
- }
-
- /**
- * Extracts wrapper details from the `source` body comment.
- *
- * @private
- * @param {string} source The source to inspect.
- * @returns {Array} Returns the wrapper details.
- */
- function getWrapDetails(source) {
- var match = source.match(reWrapDetails);
- return match ? match[1].split(reSplitDetails) : [];
- }
-
- /**
- * Checks if `path` exists on `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path to check.
- * @param {Function} hasFunc The function to check properties.
- * @returns {boolean} Returns `true` if `path` exists, else `false`.
- */
- function hasPath(object, path, hasFunc) {
- path = castPath(path, object);
-
- var index = -1,
- length = path.length,
- result = false;
-
- while (++index < length) {
- var key = toKey(path[index]);
- if (!(result = object != null && hasFunc(object, key))) {
- break;
- }
- object = object[key];
- }
- if (result || ++index != length) {
- return result;
- }
- length = object == null ? 0 : object.length;
- return !!length && isLength(length) && isIndex(key, length) &&
- (isArray(object) || isArguments(object));
- }
-
- /**
- * Initializes an array clone.
- *
- * @private
- * @param {Array} array The array to clone.
- * @returns {Array} Returns the initialized clone.
- */
- function initCloneArray(array) {
- var length = array.length,
- result = new array.constructor(length);
-
- // Add properties assigned by `RegExp#exec`.
- if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
- result.index = array.index;
- result.input = array.input;
- }
- return result;
- }
-
- /**
- * Initializes an object clone.
- *
- * @private
- * @param {Object} object The object to clone.
- * @returns {Object} Returns the initialized clone.
- */
- function initCloneObject(object) {
- return (typeof object.constructor == 'function' && !isPrototype(object))
- ? baseCreate(getPrototype(object))
- : {};
- }
-
- /**
- * Initializes an object clone based on its `toStringTag`.
- *
- * **Note:** This function only supports cloning values with tags of
- * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
- *
- * @private
- * @param {Object} object The object to clone.
- * @param {string} tag The `toStringTag` of the object to clone.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @returns {Object} Returns the initialized clone.
- */
- function initCloneByTag(object, tag, isDeep) {
- var Ctor = object.constructor;
- switch (tag) {
- case arrayBufferTag:
- return cloneArrayBuffer(object);
-
- case boolTag:
- case dateTag:
- return new Ctor(+object);
-
- case dataViewTag:
- return cloneDataView(object, isDeep);
-
- case float32Tag: case float64Tag:
- case int8Tag: case int16Tag: case int32Tag:
- case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
- return cloneTypedArray(object, isDeep);
-
- case mapTag:
- return new Ctor;
-
- case numberTag:
- case stringTag:
- return new Ctor(object);
-
- case regexpTag:
- return cloneRegExp(object);
-
- case setTag:
- return new Ctor;
-
- case symbolTag:
- return cloneSymbol(object);
- }
- }
-
- /**
- * Inserts wrapper `details` in a comment at the top of the `source` body.
- *
- * @private
- * @param {string} source The source to modify.
- * @returns {Array} details The details to insert.
- * @returns {string} Returns the modified source.
- */
- function insertWrapDetails(source, details) {
- var length = details.length;
- if (!length) {
- return source;
- }
- var lastIndex = length - 1;
- details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];
- details = details.join(length > 2 ? ', ' : ' ');
- return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n');
- }
-
- /**
- * Checks if `value` is a flattenable `arguments` object or array.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
- */
- function isFlattenable(value) {
- return isArray(value) || isArguments(value) ||
- !!(spreadableSymbol && value && value[spreadableSymbol]);
- }
-
- /**
- * Checks if `value` is a valid array-like index.
- *
- * @private
- * @param {*} value The value to check.
- * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
- * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
- */
- function isIndex(value, length) {
- var type = typeof value;
- length = length == null ? MAX_SAFE_INTEGER : length;
-
- return !!length &&
- (type == 'number' ||
- (type != 'symbol' && reIsUint.test(value))) &&
- (value > -1 && value % 1 == 0 && value < length);
- }
-
- /**
- * Checks if the given arguments are from an iteratee call.
- *
- * @private
- * @param {*} value The potential iteratee value argument.
- * @param {*} index The potential iteratee index or key argument.
- * @param {*} object The potential iteratee object argument.
- * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
- * else `false`.
- */
- function isIterateeCall(value, index, object) {
- if (!isObject(object)) {
- return false;
- }
- var type = typeof index;
- if (type == 'number'
- ? (isArrayLike(object) && isIndex(index, object.length))
- : (type == 'string' && index in object)
- ) {
- return eq(object[index], value);
- }
- return false;
- }
-
- /**
- * Checks if `value` is a property name and not a property path.
- *
- * @private
- * @param {*} value The value to check.
- * @param {Object} [object] The object to query keys on.
- * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
- */
- function isKey(value, object) {
- if (isArray(value)) {
- return false;
- }
- var type = typeof value;
- if (type == 'number' || type == 'symbol' || type == 'boolean' ||
- value == null || isSymbol(value)) {
- return true;
- }
- return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
- (object != null && value in Object(object));
- }
-
- /**
- * Checks if `value` is suitable for use as unique object key.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
- */
- function isKeyable(value) {
- var type = typeof value;
- return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
- ? (value !== '__proto__')
- : (value === null);
- }
-
- /**
- * Checks if `func` has a lazy counterpart.
- *
- * @private
- * @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` has a lazy counterpart,
- * else `false`.
- */
- function isLaziable(func) {
- var funcName = getFuncName(func),
- other = lodash[funcName];
-
- if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {
- return false;
- }
- if (func === other) {
- return true;
- }
- var data = getData(other);
- return !!data && func === data[0];
- }
-
- /**
- * Checks if `func` has its source masked.
- *
- * @private
- * @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` is masked, else `false`.
- */
- function isMasked(func) {
- return !!maskSrcKey && (maskSrcKey in func);
- }
-
- /**
- * Checks if `func` is capable of being masked.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `func` is maskable, else `false`.
- */
- var isMaskable = coreJsData ? isFunction : stubFalse;
-
- /**
- * Checks if `value` is likely a prototype object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
- */
- function isPrototype(value) {
- var Ctor = value && value.constructor,
- proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
-
- return value === proto;
- }
-
- /**
- * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` if suitable for strict
- * equality comparisons, else `false`.
- */
- function isStrictComparable(value) {
- return value === value && !isObject(value);
- }
-
- /**
- * A specialized version of `matchesProperty` for source values suitable
- * for strict equality comparisons, i.e. `===`.
- *
- * @private
- * @param {string} key The key of the property to get.
- * @param {*} srcValue The value to match.
- * @returns {Function} Returns the new spec function.
- */
- function matchesStrictComparable(key, srcValue) {
- return function(object) {
- if (object == null) {
- return false;
- }
- return object[key] === srcValue &&
- (srcValue !== undefined || (key in Object(object)));
- };
- }
-
- /**
- * A specialized version of `_.memoize` which clears the memoized function's
- * cache when it exceeds `MAX_MEMOIZE_SIZE`.
- *
- * @private
- * @param {Function} func The function to have its output memoized.
- * @returns {Function} Returns the new memoized function.
- */
- function memoizeCapped(func) {
- var result = memoize(func, function(key) {
- if (cache.size === MAX_MEMOIZE_SIZE) {
- cache.clear();
- }
- return key;
- });
-
- var cache = result.cache;
- return result;
- }
-
- /**
- * Merges the function metadata of `source` into `data`.
- *
- * Merging metadata reduces the number of wrappers used to invoke a function.
- * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
- * may be applied regardless of execution order. Methods like `_.ary` and
- * `_.rearg` modify function arguments, making the order in which they are
- * executed important, preventing the merging of metadata. However, we make
- * an exception for a safe combined case where curried functions have `_.ary`
- * and or `_.rearg` applied.
- *
- * @private
- * @param {Array} data The destination metadata.
- * @param {Array} source The source metadata.
- * @returns {Array} Returns `data`.
- */
- function mergeData(data, source) {
- var bitmask = data[1],
- srcBitmask = source[1],
- newBitmask = bitmask | srcBitmask,
- isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);
-
- var isCombo =
- ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||
- ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||
- ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));
-
- // Exit early if metadata can't be merged.
- if (!(isCommon || isCombo)) {
- return data;
- }
- // Use source `thisArg` if available.
- if (srcBitmask & WRAP_BIND_FLAG) {
- data[2] = source[2];
- // Set when currying a bound function.
- newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;
- }
- // Compose partial arguments.
- var value = source[3];
- if (value) {
- var partials = data[3];
- data[3] = partials ? composeArgs(partials, value, source[4]) : value;
- data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];
- }
- // Compose partial right arguments.
- value = source[5];
- if (value) {
- partials = data[5];
- data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;
- data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];
- }
- // Use source `argPos` if available.
- value = source[7];
- if (value) {
- data[7] = value;
- }
- // Use source `ary` if it's smaller.
- if (srcBitmask & WRAP_ARY_FLAG) {
- data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
- }
- // Use source `arity` if one is not provided.
- if (data[9] == null) {
- data[9] = source[9];
- }
- // Use source `func` and merge bitmasks.
- data[0] = source[0];
- data[1] = newBitmask;
-
- return data;
- }
-
- /**
- * This function is like
- * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
- * except that it includes inherited enumerable properties.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- */
- function nativeKeysIn(object) {
- var result = [];
- if (object != null) {
- for (var key in Object(object)) {
- result.push(key);
- }
- }
- return result;
- }
-
- /**
- * Converts `value` to a string using `Object.prototype.toString`.
- *
- * @private
- * @param {*} value The value to convert.
- * @returns {string} Returns the converted string.
- */
- function objectToString(value) {
- return nativeObjectToString.call(value);
- }
-
- /**
- * A specialized version of `baseRest` which transforms the rest array.
- *
- * @private
- * @param {Function} func The function to apply a rest parameter to.
- * @param {number} [start=func.length-1] The start position of the rest parameter.
- * @param {Function} transform The rest array transform.
- * @returns {Function} Returns the new function.
- */
- function overRest(func, start, transform) {
- start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
- return function() {
- var args = arguments,
- index = -1,
- length = nativeMax(args.length - start, 0),
- array = Array(length);
-
- while (++index < length) {
- array[index] = args[start + index];
- }
- index = -1;
- var otherArgs = Array(start + 1);
- while (++index < start) {
- otherArgs[index] = args[index];
- }
- otherArgs[start] = transform(array);
- return apply(func, this, otherArgs);
- };
- }
-
- /**
- * Gets the parent value at `path` of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array} path The path to get the parent value of.
- * @returns {*} Returns the parent value.
- */
- function parent(object, path) {
- return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));
- }
-
- /**
- * Reorder `array` according to the specified indexes where the element at
- * the first index is assigned as the first element, the element at
- * the second index is assigned as the second element, and so on.
- *
- * @private
- * @param {Array} array The array to reorder.
- * @param {Array} indexes The arranged array indexes.
- * @returns {Array} Returns `array`.
- */
- function reorder(array, indexes) {
- var arrLength = array.length,
- length = nativeMin(indexes.length, arrLength),
- oldArray = copyArray(array);
-
- while (length--) {
- var index = indexes[length];
- array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
- }
- return array;
- }
-
- /**
- * Sets metadata for `func`.
- *
- * **Note:** If this function becomes hot, i.e. is invoked a lot in a short
- * period of time, it will trip its breaker and transition to an identity
- * function to avoid garbage collection pauses in V8. See
- * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)
- * for more details.
- *
- * @private
- * @param {Function} func The function to associate metadata with.
- * @param {*} data The metadata.
- * @returns {Function} Returns `func`.
- */
- var setData = shortOut(baseSetData);
-
- /**
- * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).
- *
- * @private
- * @param {Function} func The function to delay.
- * @param {number} wait The number of milliseconds to delay invocation.
- * @returns {number|Object} Returns the timer id or timeout object.
- */
- var setTimeout = ctxSetTimeout || function(func, wait) {
- return root.setTimeout(func, wait);
- };
-
- /**
- * Sets the `toString` method of `func` to return `string`.
- *
- * @private
- * @param {Function} func The function to modify.
- * @param {Function} string The `toString` result.
- * @returns {Function} Returns `func`.
- */
- var setToString = shortOut(baseSetToString);
-
- /**
- * Sets the `toString` method of `wrapper` to mimic the source of `reference`
- * with wrapper details in a comment at the top of the source body.
- *
- * @private
- * @param {Function} wrapper The function to modify.
- * @param {Function} reference The reference function.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @returns {Function} Returns `wrapper`.
- */
- function setWrapToString(wrapper, reference, bitmask) {
- var source = (reference + '');
- return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));
- }
-
- /**
- * Creates a function that'll short out and invoke `identity` instead
- * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
- * milliseconds.
- *
- * @private
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new shortable function.
- */
- function shortOut(func) {
- var count = 0,
- lastCalled = 0;
-
- return function() {
- var stamp = nativeNow(),
- remaining = HOT_SPAN - (stamp - lastCalled);
-
- lastCalled = stamp;
- if (remaining > 0) {
- if (++count >= HOT_COUNT) {
- return arguments[0];
- }
- } else {
- count = 0;
- }
- return func.apply(undefined, arguments);
- };
- }
-
- /**
- * A specialized version of `_.shuffle` which mutates and sets the size of `array`.
- *
- * @private
- * @param {Array} array The array to shuffle.
- * @param {number} [size=array.length] The size of `array`.
- * @returns {Array} Returns `array`.
- */
- function shuffleSelf(array, size) {
- var index = -1,
- length = array.length,
- lastIndex = length - 1;
-
- size = size === undefined ? length : size;
- while (++index < size) {
- var rand = baseRandom(index, lastIndex),
- value = array[rand];
-
- array[rand] = array[index];
- array[index] = value;
- }
- array.length = size;
- return array;
- }
-
- /**
- * Converts `string` to a property path array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the property path array.
- */
- var stringToPath = memoizeCapped(function(string) {
- var result = [];
- if (string.charCodeAt(0) === 46 /* . */) {
- result.push('');
- }
- string.replace(rePropName, function(match, number, quote, subString) {
- result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
- });
- return result;
- });
-
- /**
- * Converts `value` to a string key if it's not a string or symbol.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {string|symbol} Returns the key.
- */
- function toKey(value) {
- if (typeof value == 'string' || isSymbol(value)) {
- return value;
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
- }
-
- /**
- * Converts `func` to its source code.
- *
- * @private
- * @param {Function} func The function to convert.
- * @returns {string} Returns the source code.
- */
- function toSource(func) {
- if (func != null) {
- try {
- return funcToString.call(func);
- } catch (e) {}
- try {
- return (func + '');
- } catch (e) {}
- }
- return '';
- }
-
- /**
- * Updates wrapper `details` based on `bitmask` flags.
- *
- * @private
- * @returns {Array} details The details to modify.
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
- * @returns {Array} Returns `details`.
- */
- function updateWrapDetails(details, bitmask) {
- arrayEach(wrapFlags, function(pair) {
- var value = '_.' + pair[0];
- if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {
- details.push(value);
- }
- });
- return details.sort();
- }
-
- /**
- * Creates a clone of `wrapper`.
- *
- * @private
- * @param {Object} wrapper The wrapper to clone.
- * @returns {Object} Returns the cloned wrapper.
- */
- function wrapperClone(wrapper) {
- if (wrapper instanceof LazyWrapper) {
- return wrapper.clone();
- }
- var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
- result.__actions__ = copyArray(wrapper.__actions__);
- result.__index__ = wrapper.__index__;
- result.__values__ = wrapper.__values__;
- return result;
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates an array of elements split into groups the length of `size`.
- * If `array` can't be split evenly, the final chunk will be the remaining
- * elements.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to process.
- * @param {number} [size=1] The length of each chunk
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the new array of chunks.
- * @example
- *
- * _.chunk(['a', 'b', 'c', 'd'], 2);
- * // => [['a', 'b'], ['c', 'd']]
- *
- * _.chunk(['a', 'b', 'c', 'd'], 3);
- * // => [['a', 'b', 'c'], ['d']]
- */
- function chunk(array, size, guard) {
- if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {
- size = 1;
- } else {
- size = nativeMax(toInteger(size), 0);
- }
- var length = array == null ? 0 : array.length;
- if (!length || size < 1) {
- return [];
- }
- var index = 0,
- resIndex = 0,
- result = Array(nativeCeil(length / size));
-
- while (index < length) {
- result[resIndex++] = baseSlice(array, index, (index += size));
- }
- return result;
- }
-
- /**
- * Creates an array with all falsey values removed. The values `false`, `null`,
- * `0`, `""`, `undefined`, and `NaN` are falsey.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to compact.
- * @returns {Array} Returns the new array of filtered values.
- * @example
- *
- * _.compact([0, 1, false, 2, '', 3]);
- * // => [1, 2, 3]
- */
- function compact(array) {
- var index = -1,
- length = array == null ? 0 : array.length,
- resIndex = 0,
- result = [];
-
- while (++index < length) {
- var value = array[index];
- if (value) {
- result[resIndex++] = value;
- }
- }
- return result;
- }
-
- /**
- * Creates a new array concatenating `array` with any additional arrays
- * and/or values.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to concatenate.
- * @param {...*} [values] The values to concatenate.
- * @returns {Array} Returns the new concatenated array.
- * @example
- *
- * var array = [1];
- * var other = _.concat(array, 2, [3], [[4]]);
- *
- * console.log(other);
- * // => [1, 2, 3, [4]]
- *
- * console.log(array);
- * // => [1]
- */
- function concat() {
- var length = arguments.length;
- if (!length) {
- return [];
- }
- var args = Array(length - 1),
- array = arguments[0],
- index = length;
-
- while (index--) {
- args[index - 1] = arguments[index];
- }
- return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
- }
-
- /**
- * Creates an array of `array` values not included in the other given arrays
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons. The order and references of result values are
- * determined by the first array.
- *
- * **Note:** Unlike `_.pullAll`, this method returns a new array.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {...Array} [values] The values to exclude.
- * @returns {Array} Returns the new array of filtered values.
- * @see _.without, _.xor
- * @example
- *
- * _.difference([2, 1], [2, 3]);
- * // => [1]
- */
- var difference = baseRest(function(array, values) {
- return isArrayLikeObject(array)
- ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))
- : [];
- });
-
- /**
- * This method is like `_.difference` except that it accepts `iteratee` which
- * is invoked for each element of `array` and `values` to generate the criterion
- * by which they're compared. The order and references of result values are
- * determined by the first array. The iteratee is invoked with one argument:
- * (value).
- *
- * **Note:** Unlike `_.pullAllBy`, this method returns a new array.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {...Array} [values] The values to exclude.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns the new array of filtered values.
- * @example
- *
- * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);
- * // => [1.2]
- *
- * // The `_.property` iteratee shorthand.
- * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');
- * // => [{ 'x': 2 }]
- */
- var differenceBy = baseRest(function(array, values) {
- var iteratee = last(values);
- if (isArrayLikeObject(iteratee)) {
- iteratee = undefined;
- }
- return isArrayLikeObject(array)
- ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))
- : [];
- });
-
- /**
- * This method is like `_.difference` except that it accepts `comparator`
- * which is invoked to compare elements of `array` to `values`. The order and
- * references of result values are determined by the first array. The comparator
- * is invoked with two arguments: (arrVal, othVal).
- *
- * **Note:** Unlike `_.pullAllWith`, this method returns a new array.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {...Array} [values] The values to exclude.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of filtered values.
- * @example
- *
- * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
- *
- * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);
- * // => [{ 'x': 2, 'y': 1 }]
- */
- var differenceWith = baseRest(function(array, values) {
- var comparator = last(values);
- if (isArrayLikeObject(comparator)) {
- comparator = undefined;
- }
- return isArrayLikeObject(array)
- ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)
- : [];
- });
-
- /**
- * Creates a slice of `array` with `n` elements dropped from the beginning.
- *
- * @static
- * @memberOf _
- * @since 0.5.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {number} [n=1] The number of elements to drop.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.drop([1, 2, 3]);
- * // => [2, 3]
- *
- * _.drop([1, 2, 3], 2);
- * // => [3]
- *
- * _.drop([1, 2, 3], 5);
- * // => []
- *
- * _.drop([1, 2, 3], 0);
- * // => [1, 2, 3]
- */
- function drop(array, n, guard) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- n = (guard || n === undefined) ? 1 : toInteger(n);
- return baseSlice(array, n < 0 ? 0 : n, length);
- }
-
- /**
- * Creates a slice of `array` with `n` elements dropped from the end.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {number} [n=1] The number of elements to drop.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.dropRight([1, 2, 3]);
- * // => [1, 2]
- *
- * _.dropRight([1, 2, 3], 2);
- * // => [1]
- *
- * _.dropRight([1, 2, 3], 5);
- * // => []
- *
- * _.dropRight([1, 2, 3], 0);
- * // => [1, 2, 3]
- */
- function dropRight(array, n, guard) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- n = (guard || n === undefined) ? 1 : toInteger(n);
- n = length - n;
- return baseSlice(array, 0, n < 0 ? 0 : n);
- }
-
- /**
- * Creates a slice of `array` excluding elements dropped from the end.
- * Elements are dropped until `predicate` returns falsey. The predicate is
- * invoked with three arguments: (value, index, array).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': true },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': false }
- * ];
- *
- * _.dropRightWhile(users, function(o) { return !o.active; });
- * // => objects for ['barney']
- *
- * // The `_.matches` iteratee shorthand.
- * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });
- * // => objects for ['barney', 'fred']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.dropRightWhile(users, ['active', false]);
- * // => objects for ['barney']
- *
- * // The `_.property` iteratee shorthand.
- * _.dropRightWhile(users, 'active');
- * // => objects for ['barney', 'fred', 'pebbles']
- */
- function dropRightWhile(array, predicate) {
- return (array && array.length)
- ? baseWhile(array, getIteratee(predicate, 3), true, true)
- : [];
- }
-
- /**
- * Creates a slice of `array` excluding elements dropped from the beginning.
- * Elements are dropped until `predicate` returns falsey. The predicate is
- * invoked with three arguments: (value, index, array).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': false },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': true }
- * ];
- *
- * _.dropWhile(users, function(o) { return !o.active; });
- * // => objects for ['pebbles']
- *
- * // The `_.matches` iteratee shorthand.
- * _.dropWhile(users, { 'user': 'barney', 'active': false });
- * // => objects for ['fred', 'pebbles']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.dropWhile(users, ['active', false]);
- * // => objects for ['pebbles']
- *
- * // The `_.property` iteratee shorthand.
- * _.dropWhile(users, 'active');
- * // => objects for ['barney', 'fred', 'pebbles']
- */
- function dropWhile(array, predicate) {
- return (array && array.length)
- ? baseWhile(array, getIteratee(predicate, 3), true)
- : [];
- }
-
- /**
- * Fills elements of `array` with `value` from `start` up to, but not
- * including, `end`.
- *
- * **Note:** This method mutates `array`.
- *
- * @static
- * @memberOf _
- * @since 3.2.0
- * @category Array
- * @param {Array} array The array to fill.
- * @param {*} value The value to fill `array` with.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = [1, 2, 3];
- *
- * _.fill(array, 'a');
- * console.log(array);
- * // => ['a', 'a', 'a']
- *
- * _.fill(Array(3), 2);
- * // => [2, 2, 2]
- *
- * _.fill([4, 6, 8, 10], '*', 1, 3);
- * // => [4, '*', '*', 10]
- */
- function fill(array, value, start, end) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {
- start = 0;
- end = length;
- }
- return baseFill(array, value, start, end);
- }
-
- /**
- * This method is like `_.find` except that it returns the index of the first
- * element `predicate` returns truthy for instead of the element itself.
- *
- * @static
- * @memberOf _
- * @since 1.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {number} Returns the index of the found element, else `-1`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': false },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': true }
- * ];
- *
- * _.findIndex(users, function(o) { return o.user == 'barney'; });
- * // => 0
- *
- * // The `_.matches` iteratee shorthand.
- * _.findIndex(users, { 'user': 'fred', 'active': false });
- * // => 1
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.findIndex(users, ['active', false]);
- * // => 0
- *
- * // The `_.property` iteratee shorthand.
- * _.findIndex(users, 'active');
- * // => 2
- */
- function findIndex(array, predicate, fromIndex) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return -1;
- }
- var index = fromIndex == null ? 0 : toInteger(fromIndex);
- if (index < 0) {
- index = nativeMax(length + index, 0);
- }
- return baseFindIndex(array, getIteratee(predicate, 3), index);
- }
-
- /**
- * This method is like `_.findIndex` except that it iterates over elements
- * of `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param {number} [fromIndex=array.length-1] The index to search from.
- * @returns {number} Returns the index of the found element, else `-1`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': true },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': false }
- * ];
- *
- * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });
- * // => 2
- *
- * // The `_.matches` iteratee shorthand.
- * _.findLastIndex(users, { 'user': 'barney', 'active': true });
- * // => 0
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.findLastIndex(users, ['active', false]);
- * // => 2
- *
- * // The `_.property` iteratee shorthand.
- * _.findLastIndex(users, 'active');
- * // => 0
- */
- function findLastIndex(array, predicate, fromIndex) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return -1;
- }
- var index = length - 1;
- if (fromIndex !== undefined) {
- index = toInteger(fromIndex);
- index = fromIndex < 0
- ? nativeMax(length + index, 0)
- : nativeMin(index, length - 1);
- }
- return baseFindIndex(array, getIteratee(predicate, 3), index, true);
- }
-
- /**
- * Flattens `array` a single level deep.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to flatten.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * _.flatten([1, [2, [3, [4]], 5]]);
- * // => [1, 2, [3, [4]], 5]
- */
- function flatten(array) {
- var length = array == null ? 0 : array.length;
- return length ? baseFlatten(array, 1) : [];
- }
-
- /**
- * Recursively flattens `array`.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to flatten.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * _.flattenDeep([1, [2, [3, [4]], 5]]);
- * // => [1, 2, 3, 4, 5]
- */
- function flattenDeep(array) {
- var length = array == null ? 0 : array.length;
- return length ? baseFlatten(array, INFINITY) : [];
- }
-
- /**
- * Recursively flatten `array` up to `depth` times.
- *
- * @static
- * @memberOf _
- * @since 4.4.0
- * @category Array
- * @param {Array} array The array to flatten.
- * @param {number} [depth=1] The maximum recursion depth.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * var array = [1, [2, [3, [4]], 5]];
- *
- * _.flattenDepth(array, 1);
- * // => [1, 2, [3, [4]], 5]
- *
- * _.flattenDepth(array, 2);
- * // => [1, 2, 3, [4], 5]
- */
- function flattenDepth(array, depth) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- depth = depth === undefined ? 1 : toInteger(depth);
- return baseFlatten(array, depth);
- }
-
- /**
- * The inverse of `_.toPairs`; this method returns an object composed
- * from key-value `pairs`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} pairs The key-value pairs.
- * @returns {Object} Returns the new object.
- * @example
- *
- * _.fromPairs([['a', 1], ['b', 2]]);
- * // => { 'a': 1, 'b': 2 }
- */
- function fromPairs(pairs) {
- var index = -1,
- length = pairs == null ? 0 : pairs.length,
- result = {};
-
- while (++index < length) {
- var pair = pairs[index];
- result[pair[0]] = pair[1];
- }
- return result;
- }
-
- /**
- * Gets the first element of `array`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @alias first
- * @category Array
- * @param {Array} array The array to query.
- * @returns {*} Returns the first element of `array`.
- * @example
- *
- * _.head([1, 2, 3]);
- * // => 1
- *
- * _.head([]);
- * // => undefined
- */
- function head(array) {
- return (array && array.length) ? array[0] : undefined;
- }
-
- /**
- * Gets the index at which the first occurrence of `value` is found in `array`
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons. If `fromIndex` is negative, it's used as the
- * offset from the end of `array`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- * @example
- *
- * _.indexOf([1, 2, 1, 2], 2);
- * // => 1
- *
- * // Search from the `fromIndex`.
- * _.indexOf([1, 2, 1, 2], 2, 2);
- * // => 3
- */
- function indexOf(array, value, fromIndex) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return -1;
- }
- var index = fromIndex == null ? 0 : toInteger(fromIndex);
- if (index < 0) {
- index = nativeMax(length + index, 0);
- }
- return baseIndexOf(array, value, index);
- }
-
- /**
- * Gets all but the last element of `array`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to query.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.initial([1, 2, 3]);
- * // => [1, 2]
- */
- function initial(array) {
- var length = array == null ? 0 : array.length;
- return length ? baseSlice(array, 0, -1) : [];
- }
-
- /**
- * Creates an array of unique values that are included in all given arrays
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons. The order and references of result values are
- * determined by the first array.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @returns {Array} Returns the new array of intersecting values.
- * @example
- *
- * _.intersection([2, 1], [2, 3]);
- * // => [2]
- */
- var intersection = baseRest(function(arrays) {
- var mapped = arrayMap(arrays, castArrayLikeObject);
- return (mapped.length && mapped[0] === arrays[0])
- ? baseIntersection(mapped)
- : [];
- });
-
- /**
- * This method is like `_.intersection` except that it accepts `iteratee`
- * which is invoked for each element of each `arrays` to generate the criterion
- * by which they're compared. The order and references of result values are
- * determined by the first array. The iteratee is invoked with one argument:
- * (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns the new array of intersecting values.
- * @example
- *
- * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);
- * // => [2.1]
- *
- * // The `_.property` iteratee shorthand.
- * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 1 }]
- */
- var intersectionBy = baseRest(function(arrays) {
- var iteratee = last(arrays),
- mapped = arrayMap(arrays, castArrayLikeObject);
-
- if (iteratee === last(mapped)) {
- iteratee = undefined;
- } else {
- mapped.pop();
- }
- return (mapped.length && mapped[0] === arrays[0])
- ? baseIntersection(mapped, getIteratee(iteratee, 2))
- : [];
- });
-
- /**
- * This method is like `_.intersection` except that it accepts `comparator`
- * which is invoked to compare elements of `arrays`. The order and references
- * of result values are determined by the first array. The comparator is
- * invoked with two arguments: (arrVal, othVal).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of intersecting values.
- * @example
- *
- * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
- * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
- *
- * _.intersectionWith(objects, others, _.isEqual);
- * // => [{ 'x': 1, 'y': 2 }]
- */
- var intersectionWith = baseRest(function(arrays) {
- var comparator = last(arrays),
- mapped = arrayMap(arrays, castArrayLikeObject);
-
- comparator = typeof comparator == 'function' ? comparator : undefined;
- if (comparator) {
- mapped.pop();
- }
- return (mapped.length && mapped[0] === arrays[0])
- ? baseIntersection(mapped, undefined, comparator)
- : [];
- });
-
- /**
- * Converts all elements in `array` into a string separated by `separator`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to convert.
- * @param {string} [separator=','] The element separator.
- * @returns {string} Returns the joined string.
- * @example
- *
- * _.join(['a', 'b', 'c'], '~');
- * // => 'a~b~c'
- */
- function join(array, separator) {
- return array == null ? '' : nativeJoin.call(array, separator);
- }
-
- /**
- * Gets the last element of `array`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to query.
- * @returns {*} Returns the last element of `array`.
- * @example
- *
- * _.last([1, 2, 3]);
- * // => 3
- */
- function last(array) {
- var length = array == null ? 0 : array.length;
- return length ? array[length - 1] : undefined;
- }
-
- /**
- * This method is like `_.indexOf` except that it iterates over elements of
- * `array` from right to left.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} [fromIndex=array.length-1] The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- * @example
- *
- * _.lastIndexOf([1, 2, 1, 2], 2);
- * // => 3
- *
- * // Search from the `fromIndex`.
- * _.lastIndexOf([1, 2, 1, 2], 2, 2);
- * // => 1
- */
- function lastIndexOf(array, value, fromIndex) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return -1;
- }
- var index = length;
- if (fromIndex !== undefined) {
- index = toInteger(fromIndex);
- index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);
- }
- return value === value
- ? strictLastIndexOf(array, value, index)
- : baseFindIndex(array, baseIsNaN, index, true);
- }
-
- /**
- * Gets the element at index `n` of `array`. If `n` is negative, the nth
- * element from the end is returned.
- *
- * @static
- * @memberOf _
- * @since 4.11.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {number} [n=0] The index of the element to return.
- * @returns {*} Returns the nth element of `array`.
- * @example
- *
- * var array = ['a', 'b', 'c', 'd'];
- *
- * _.nth(array, 1);
- * // => 'b'
- *
- * _.nth(array, -2);
- * // => 'c';
- */
- function nth(array, n) {
- return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;
- }
-
- /**
- * Removes all given values from `array` using
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons.
- *
- * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`
- * to remove elements from an array by predicate.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {...*} [values] The values to remove.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = ['a', 'b', 'c', 'a', 'b', 'c'];
- *
- * _.pull(array, 'a', 'c');
- * console.log(array);
- * // => ['b', 'b']
- */
- var pull = baseRest(pullAll);
-
- /**
- * This method is like `_.pull` except that it accepts an array of values to remove.
- *
- * **Note:** Unlike `_.difference`, this method mutates `array`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {Array} values The values to remove.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = ['a', 'b', 'c', 'a', 'b', 'c'];
- *
- * _.pullAll(array, ['a', 'c']);
- * console.log(array);
- * // => ['b', 'b']
- */
- function pullAll(array, values) {
- return (array && array.length && values && values.length)
- ? basePullAll(array, values)
- : array;
- }
-
- /**
- * This method is like `_.pullAll` except that it accepts `iteratee` which is
- * invoked for each element of `array` and `values` to generate the criterion
- * by which they're compared. The iteratee is invoked with one argument: (value).
- *
- * **Note:** Unlike `_.differenceBy`, this method mutates `array`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {Array} values The values to remove.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];
- *
- * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');
- * console.log(array);
- * // => [{ 'x': 2 }]
- */
- function pullAllBy(array, values, iteratee) {
- return (array && array.length && values && values.length)
- ? basePullAll(array, values, getIteratee(iteratee, 2))
- : array;
- }
-
- /**
- * This method is like `_.pullAll` except that it accepts `comparator` which
- * is invoked to compare elements of `array` to `values`. The comparator is
- * invoked with two arguments: (arrVal, othVal).
- *
- * **Note:** Unlike `_.differenceWith`, this method mutates `array`.
- *
- * @static
- * @memberOf _
- * @since 4.6.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {Array} values The values to remove.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];
- *
- * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);
- * console.log(array);
- * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]
- */
- function pullAllWith(array, values, comparator) {
- return (array && array.length && values && values.length)
- ? basePullAll(array, values, undefined, comparator)
- : array;
- }
-
- /**
- * Removes elements from `array` corresponding to `indexes` and returns an
- * array of removed elements.
- *
- * **Note:** Unlike `_.at`, this method mutates `array`.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {...(number|number[])} [indexes] The indexes of elements to remove.
- * @returns {Array} Returns the new array of removed elements.
- * @example
- *
- * var array = ['a', 'b', 'c', 'd'];
- * var pulled = _.pullAt(array, [1, 3]);
- *
- * console.log(array);
- * // => ['a', 'c']
- *
- * console.log(pulled);
- * // => ['b', 'd']
- */
- var pullAt = flatRest(function(array, indexes) {
- var length = array == null ? 0 : array.length,
- result = baseAt(array, indexes);
-
- basePullAt(array, arrayMap(indexes, function(index) {
- return isIndex(index, length) ? +index : index;
- }).sort(compareAscending));
-
- return result;
- });
-
- /**
- * Removes all elements from `array` that `predicate` returns truthy for
- * and returns an array of the removed elements. The predicate is invoked
- * with three arguments: (value, index, array).
- *
- * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`
- * to pull elements from an array by value.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new array of removed elements.
- * @example
- *
- * var array = [1, 2, 3, 4];
- * var evens = _.remove(array, function(n) {
- * return n % 2 == 0;
- * });
- *
- * console.log(array);
- * // => [1, 3]
- *
- * console.log(evens);
- * // => [2, 4]
- */
- function remove(array, predicate) {
- var result = [];
- if (!(array && array.length)) {
- return result;
- }
- var index = -1,
- indexes = [],
- length = array.length;
-
- predicate = getIteratee(predicate, 3);
- while (++index < length) {
- var value = array[index];
- if (predicate(value, index, array)) {
- result.push(value);
- indexes.push(index);
- }
- }
- basePullAt(array, indexes);
- return result;
- }
-
- /**
- * Reverses `array` so that the first element becomes the last, the second
- * element becomes the second to last, and so on.
- *
- * **Note:** This method mutates `array` and is based on
- * [`Array#reverse`](https://mdn.io/Array/reverse).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to modify.
- * @returns {Array} Returns `array`.
- * @example
- *
- * var array = [1, 2, 3];
- *
- * _.reverse(array);
- * // => [3, 2, 1]
- *
- * console.log(array);
- * // => [3, 2, 1]
- */
- function reverse(array) {
- return array == null ? array : nativeReverse.call(array);
- }
-
- /**
- * Creates a slice of `array` from `start` up to, but not including, `end`.
- *
- * **Note:** This method is used instead of
- * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
- * returned.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to slice.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the slice of `array`.
- */
- function slice(array, start, end) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {
- start = 0;
- end = length;
- }
- else {
- start = start == null ? 0 : toInteger(start);
- end = end === undefined ? length : toInteger(end);
- }
- return baseSlice(array, start, end);
- }
-
- /**
- * Uses a binary search to determine the lowest index at which `value`
- * should be inserted into `array` in order to maintain its sort order.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- * @example
- *
- * _.sortedIndex([30, 50], 40);
- * // => 1
- */
- function sortedIndex(array, value) {
- return baseSortedIndex(array, value);
- }
-
- /**
- * This method is like `_.sortedIndex` except that it accepts `iteratee`
- * which is invoked for `value` and each element of `array` to compute their
- * sort ranking. The iteratee is invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- * @example
- *
- * var objects = [{ 'x': 4 }, { 'x': 5 }];
- *
- * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });
- * // => 0
- *
- * // The `_.property` iteratee shorthand.
- * _.sortedIndexBy(objects, { 'x': 4 }, 'x');
- * // => 0
- */
- function sortedIndexBy(array, value, iteratee) {
- return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));
- }
-
- /**
- * This method is like `_.indexOf` except that it performs a binary
- * search on a sorted `array`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- * @example
- *
- * _.sortedIndexOf([4, 5, 5, 5, 6], 5);
- * // => 1
- */
- function sortedIndexOf(array, value) {
- var length = array == null ? 0 : array.length;
- if (length) {
- var index = baseSortedIndex(array, value);
- if (index < length && eq(array[index], value)) {
- return index;
- }
- }
- return -1;
- }
-
- /**
- * This method is like `_.sortedIndex` except that it returns the highest
- * index at which `value` should be inserted into `array` in order to
- * maintain its sort order.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- * @example
- *
- * _.sortedLastIndex([4, 5, 5, 5, 6], 5);
- * // => 4
- */
- function sortedLastIndex(array, value) {
- return baseSortedIndex(array, value, true);
- }
-
- /**
- * This method is like `_.sortedLastIndex` except that it accepts `iteratee`
- * which is invoked for `value` and each element of `array` to compute their
- * sort ranking. The iteratee is invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- * @example
- *
- * var objects = [{ 'x': 4 }, { 'x': 5 }];
- *
- * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });
- * // => 1
- *
- * // The `_.property` iteratee shorthand.
- * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');
- * // => 1
- */
- function sortedLastIndexBy(array, value, iteratee) {
- return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);
- }
-
- /**
- * This method is like `_.lastIndexOf` except that it performs a binary
- * search on a sorted `array`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- * @example
- *
- * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);
- * // => 3
- */
- function sortedLastIndexOf(array, value) {
- var length = array == null ? 0 : array.length;
- if (length) {
- var index = baseSortedIndex(array, value, true) - 1;
- if (eq(array[index], value)) {
- return index;
- }
- }
- return -1;
- }
-
- /**
- * This method is like `_.uniq` except that it's designed and optimized
- * for sorted arrays.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * _.sortedUniq([1, 1, 2]);
- * // => [1, 2]
- */
- function sortedUniq(array) {
- return (array && array.length)
- ? baseSortedUniq(array)
- : [];
- }
-
- /**
- * This method is like `_.uniqBy` except that it's designed and optimized
- * for sorted arrays.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);
- * // => [1.1, 2.3]
- */
- function sortedUniqBy(array, iteratee) {
- return (array && array.length)
- ? baseSortedUniq(array, getIteratee(iteratee, 2))
- : [];
- }
-
- /**
- * Gets all but the first element of `array`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.tail([1, 2, 3]);
- * // => [2, 3]
- */
- function tail(array) {
- var length = array == null ? 0 : array.length;
- return length ? baseSlice(array, 1, length) : [];
- }
-
- /**
- * Creates a slice of `array` with `n` elements taken from the beginning.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {number} [n=1] The number of elements to take.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.take([1, 2, 3]);
- * // => [1]
- *
- * _.take([1, 2, 3], 2);
- * // => [1, 2]
- *
- * _.take([1, 2, 3], 5);
- * // => [1, 2, 3]
- *
- * _.take([1, 2, 3], 0);
- * // => []
- */
- function take(array, n, guard) {
- if (!(array && array.length)) {
- return [];
- }
- n = (guard || n === undefined) ? 1 : toInteger(n);
- return baseSlice(array, 0, n < 0 ? 0 : n);
- }
-
- /**
- * Creates a slice of `array` with `n` elements taken from the end.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {number} [n=1] The number of elements to take.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * _.takeRight([1, 2, 3]);
- * // => [3]
- *
- * _.takeRight([1, 2, 3], 2);
- * // => [2, 3]
- *
- * _.takeRight([1, 2, 3], 5);
- * // => [1, 2, 3]
- *
- * _.takeRight([1, 2, 3], 0);
- * // => []
- */
- function takeRight(array, n, guard) {
- var length = array == null ? 0 : array.length;
- if (!length) {
- return [];
- }
- n = (guard || n === undefined) ? 1 : toInteger(n);
- n = length - n;
- return baseSlice(array, n < 0 ? 0 : n, length);
- }
-
- /**
- * Creates a slice of `array` with elements taken from the end. Elements are
- * taken until `predicate` returns falsey. The predicate is invoked with
- * three arguments: (value, index, array).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': true },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': false }
- * ];
- *
- * _.takeRightWhile(users, function(o) { return !o.active; });
- * // => objects for ['fred', 'pebbles']
- *
- * // The `_.matches` iteratee shorthand.
- * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });
- * // => objects for ['pebbles']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.takeRightWhile(users, ['active', false]);
- * // => objects for ['fred', 'pebbles']
- *
- * // The `_.property` iteratee shorthand.
- * _.takeRightWhile(users, 'active');
- * // => []
- */
- function takeRightWhile(array, predicate) {
- return (array && array.length)
- ? baseWhile(array, getIteratee(predicate, 3), false, true)
- : [];
- }
-
- /**
- * Creates a slice of `array` with elements taken from the beginning. Elements
- * are taken until `predicate` returns falsey. The predicate is invoked with
- * three arguments: (value, index, array).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Array
- * @param {Array} array The array to query.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the slice of `array`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'active': false },
- * { 'user': 'fred', 'active': false },
- * { 'user': 'pebbles', 'active': true }
- * ];
- *
- * _.takeWhile(users, function(o) { return !o.active; });
- * // => objects for ['barney', 'fred']
- *
- * // The `_.matches` iteratee shorthand.
- * _.takeWhile(users, { 'user': 'barney', 'active': false });
- * // => objects for ['barney']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.takeWhile(users, ['active', false]);
- * // => objects for ['barney', 'fred']
- *
- * // The `_.property` iteratee shorthand.
- * _.takeWhile(users, 'active');
- * // => []
- */
- function takeWhile(array, predicate) {
- return (array && array.length)
- ? baseWhile(array, getIteratee(predicate, 3))
- : [];
- }
-
- /**
- * Creates an array of unique values, in order, from all given arrays using
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @returns {Array} Returns the new array of combined values.
- * @example
- *
- * _.union([2], [1, 2]);
- * // => [2, 1]
- */
- var union = baseRest(function(arrays) {
- return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
- });
-
- /**
- * This method is like `_.union` except that it accepts `iteratee` which is
- * invoked for each element of each `arrays` to generate the criterion by
- * which uniqueness is computed. Result values are chosen from the first
- * array in which the value occurs. The iteratee is invoked with one argument:
- * (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns the new array of combined values.
- * @example
- *
- * _.unionBy([2.1], [1.2, 2.3], Math.floor);
- * // => [2.1, 1.2]
- *
- * // The `_.property` iteratee shorthand.
- * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 1 }, { 'x': 2 }]
- */
- var unionBy = baseRest(function(arrays) {
- var iteratee = last(arrays);
- if (isArrayLikeObject(iteratee)) {
- iteratee = undefined;
- }
- return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));
- });
-
- /**
- * This method is like `_.union` except that it accepts `comparator` which
- * is invoked to compare elements of `arrays`. Result values are chosen from
- * the first array in which the value occurs. The comparator is invoked
- * with two arguments: (arrVal, othVal).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of combined values.
- * @example
- *
- * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
- * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
- *
- * _.unionWith(objects, others, _.isEqual);
- * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
- */
- var unionWith = baseRest(function(arrays) {
- var comparator = last(arrays);
- comparator = typeof comparator == 'function' ? comparator : undefined;
- return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);
- });
-
- /**
- * Creates a duplicate-free version of an array, using
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons, in which only the first occurrence of each element
- * is kept. The order of result values is determined by the order they occur
- * in the array.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * _.uniq([2, 1, 2]);
- * // => [2, 1]
- */
- function uniq(array) {
- return (array && array.length) ? baseUniq(array) : [];
- }
-
- /**
- * This method is like `_.uniq` except that it accepts `iteratee` which is
- * invoked for each element in `array` to generate the criterion by which
- * uniqueness is computed. The order of result values is determined by the
- * order they occur in the array. The iteratee is invoked with one argument:
- * (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * _.uniqBy([2.1, 1.2, 2.3], Math.floor);
- * // => [2.1, 1.2]
- *
- * // The `_.property` iteratee shorthand.
- * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 1 }, { 'x': 2 }]
- */
- function uniqBy(array, iteratee) {
- return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];
- }
-
- /**
- * This method is like `_.uniq` except that it accepts `comparator` which
- * is invoked to compare elements of `array`. The order of result values is
- * determined by the order they occur in the array.The comparator is invoked
- * with two arguments: (arrVal, othVal).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
- *
- * _.uniqWith(objects, _.isEqual);
- * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
- */
- function uniqWith(array, comparator) {
- comparator = typeof comparator == 'function' ? comparator : undefined;
- return (array && array.length) ? baseUniq(array, undefined, comparator) : [];
- }
-
- /**
- * This method is like `_.zip` except that it accepts an array of grouped
- * elements and creates an array regrouping the elements to their pre-zip
- * configuration.
- *
- * @static
- * @memberOf _
- * @since 1.2.0
- * @category Array
- * @param {Array} array The array of grouped elements to process.
- * @returns {Array} Returns the new array of regrouped elements.
- * @example
- *
- * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);
- * // => [['a', 1, true], ['b', 2, false]]
- *
- * _.unzip(zipped);
- * // => [['a', 'b'], [1, 2], [true, false]]
- */
- function unzip(array) {
- if (!(array && array.length)) {
- return [];
- }
- var length = 0;
- array = arrayFilter(array, function(group) {
- if (isArrayLikeObject(group)) {
- length = nativeMax(group.length, length);
- return true;
- }
- });
- return baseTimes(length, function(index) {
- return arrayMap(array, baseProperty(index));
- });
- }
-
- /**
- * This method is like `_.unzip` except that it accepts `iteratee` to specify
- * how regrouped values should be combined. The iteratee is invoked with the
- * elements of each group: (...group).
- *
- * @static
- * @memberOf _
- * @since 3.8.0
- * @category Array
- * @param {Array} array The array of grouped elements to process.
- * @param {Function} [iteratee=_.identity] The function to combine
- * regrouped values.
- * @returns {Array} Returns the new array of regrouped elements.
- * @example
- *
- * var zipped = _.zip([1, 2], [10, 20], [100, 200]);
- * // => [[1, 10, 100], [2, 20, 200]]
- *
- * _.unzipWith(zipped, _.add);
- * // => [3, 30, 300]
- */
- function unzipWith(array, iteratee) {
- if (!(array && array.length)) {
- return [];
- }
- var result = unzip(array);
- if (iteratee == null) {
- return result;
- }
- return arrayMap(result, function(group) {
- return apply(iteratee, undefined, group);
- });
- }
-
- /**
- * Creates an array excluding all given values using
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons.
- *
- * **Note:** Unlike `_.pull`, this method returns a new array.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @param {...*} [values] The values to exclude.
- * @returns {Array} Returns the new array of filtered values.
- * @see _.difference, _.xor
- * @example
- *
- * _.without([2, 1, 2, 3], 1, 2);
- * // => [3]
- */
- var without = baseRest(function(array, values) {
- return isArrayLikeObject(array)
- ? baseDifference(array, values)
- : [];
- });
-
- /**
- * Creates an array of unique values that is the
- * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
- * of the given arrays. The order of result values is determined by the order
- * they occur in the arrays.
- *
- * @static
- * @memberOf _
- * @since 2.4.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @returns {Array} Returns the new array of filtered values.
- * @see _.difference, _.without
- * @example
- *
- * _.xor([2, 1], [2, 3]);
- * // => [1, 3]
- */
- var xor = baseRest(function(arrays) {
- return baseXor(arrayFilter(arrays, isArrayLikeObject));
- });
-
- /**
- * This method is like `_.xor` except that it accepts `iteratee` which is
- * invoked for each element of each `arrays` to generate the criterion by
- * which by which they're compared. The order of result values is determined
- * by the order they occur in the arrays. The iteratee is invoked with one
- * argument: (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Array} Returns the new array of filtered values.
- * @example
- *
- * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);
- * // => [1.2, 3.4]
- *
- * // The `_.property` iteratee shorthand.
- * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 2 }]
- */
- var xorBy = baseRest(function(arrays) {
- var iteratee = last(arrays);
- if (isArrayLikeObject(iteratee)) {
- iteratee = undefined;
- }
- return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));
- });
-
- /**
- * This method is like `_.xor` except that it accepts `comparator` which is
- * invoked to compare elements of `arrays`. The order of result values is
- * determined by the order they occur in the arrays. The comparator is invoked
- * with two arguments: (arrVal, othVal).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Array
- * @param {...Array} [arrays] The arrays to inspect.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of filtered values.
- * @example
- *
- * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
- * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
- *
- * _.xorWith(objects, others, _.isEqual);
- * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
- */
- var xorWith = baseRest(function(arrays) {
- var comparator = last(arrays);
- comparator = typeof comparator == 'function' ? comparator : undefined;
- return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);
- });
-
- /**
- * Creates an array of grouped elements, the first of which contains the
- * first elements of the given arrays, the second of which contains the
- * second elements of the given arrays, and so on.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {...Array} [arrays] The arrays to process.
- * @returns {Array} Returns the new array of grouped elements.
- * @example
- *
- * _.zip(['a', 'b'], [1, 2], [true, false]);
- * // => [['a', 1, true], ['b', 2, false]]
- */
- var zip = baseRest(unzip);
-
- /**
- * This method is like `_.fromPairs` except that it accepts two arrays,
- * one of property identifiers and one of corresponding values.
- *
- * @static
- * @memberOf _
- * @since 0.4.0
- * @category Array
- * @param {Array} [props=[]] The property identifiers.
- * @param {Array} [values=[]] The property values.
- * @returns {Object} Returns the new object.
- * @example
- *
- * _.zipObject(['a', 'b'], [1, 2]);
- * // => { 'a': 1, 'b': 2 }
- */
- function zipObject(props, values) {
- return baseZipObject(props || [], values || [], assignValue);
- }
-
- /**
- * This method is like `_.zipObject` except that it supports property paths.
- *
- * @static
- * @memberOf _
- * @since 4.1.0
- * @category Array
- * @param {Array} [props=[]] The property identifiers.
- * @param {Array} [values=[]] The property values.
- * @returns {Object} Returns the new object.
- * @example
- *
- * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);
- * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }
- */
- function zipObjectDeep(props, values) {
- return baseZipObject(props || [], values || [], baseSet);
- }
-
- /**
- * This method is like `_.zip` except that it accepts `iteratee` to specify
- * how grouped values should be combined. The iteratee is invoked with the
- * elements of each group: (...group).
- *
- * @static
- * @memberOf _
- * @since 3.8.0
- * @category Array
- * @param {...Array} [arrays] The arrays to process.
- * @param {Function} [iteratee=_.identity] The function to combine
- * grouped values.
- * @returns {Array} Returns the new array of grouped elements.
- * @example
- *
- * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {
- * return a + b + c;
- * });
- * // => [111, 222]
- */
- var zipWith = baseRest(function(arrays) {
- var length = arrays.length,
- iteratee = length > 1 ? arrays[length - 1] : undefined;
-
- iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;
- return unzipWith(arrays, iteratee);
- });
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a `lodash` wrapper instance that wraps `value` with explicit method
- * chain sequences enabled. The result of such sequences must be unwrapped
- * with `_#value`.
- *
- * @static
- * @memberOf _
- * @since 1.3.0
- * @category Seq
- * @param {*} value The value to wrap.
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36 },
- * { 'user': 'fred', 'age': 40 },
- * { 'user': 'pebbles', 'age': 1 }
- * ];
- *
- * var youngest = _
- * .chain(users)
- * .sortBy('age')
- * .map(function(o) {
- * return o.user + ' is ' + o.age;
- * })
- * .head()
- * .value();
- * // => 'pebbles is 1'
- */
- function chain(value) {
- var result = lodash(value);
- result.__chain__ = true;
- return result;
- }
-
- /**
- * This method invokes `interceptor` and returns `value`. The interceptor
- * is invoked with one argument; (value). The purpose of this method is to
- * "tap into" a method chain sequence in order to modify intermediate results.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Seq
- * @param {*} value The value to provide to `interceptor`.
- * @param {Function} interceptor The function to invoke.
- * @returns {*} Returns `value`.
- * @example
- *
- * _([1, 2, 3])
- * .tap(function(array) {
- * // Mutate input array.
- * array.pop();
- * })
- * .reverse()
- * .value();
- * // => [2, 1]
- */
- function tap(value, interceptor) {
- interceptor(value);
- return value;
- }
-
- /**
- * This method is like `_.tap` except that it returns the result of `interceptor`.
- * The purpose of this method is to "pass thru" values replacing intermediate
- * results in a method chain sequence.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Seq
- * @param {*} value The value to provide to `interceptor`.
- * @param {Function} interceptor The function to invoke.
- * @returns {*} Returns the result of `interceptor`.
- * @example
- *
- * _(' abc ')
- * .chain()
- * .trim()
- * .thru(function(value) {
- * return [value];
- * })
- * .value();
- * // => ['abc']
- */
- function thru(value, interceptor) {
- return interceptor(value);
- }
-
- /**
- * This method is the wrapper version of `_.at`.
- *
- * @name at
- * @memberOf _
- * @since 1.0.0
- * @category Seq
- * @param {...(string|string[])} [paths] The property paths to pick.
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
- *
- * _(object).at(['a[0].b.c', 'a[1]']).value();
- * // => [3, 4]
- */
- var wrapperAt = flatRest(function(paths) {
- var length = paths.length,
- start = length ? paths[0] : 0,
- value = this.__wrapped__,
- interceptor = function(object) { return baseAt(object, paths); };
-
- if (length > 1 || this.__actions__.length ||
- !(value instanceof LazyWrapper) || !isIndex(start)) {
- return this.thru(interceptor);
- }
- value = value.slice(start, +start + (length ? 1 : 0));
- value.__actions__.push({
- 'func': thru,
- 'args': [interceptor],
- 'thisArg': undefined
- });
- return new LodashWrapper(value, this.__chain__).thru(function(array) {
- if (length && !array.length) {
- array.push(undefined);
- }
- return array;
- });
- });
-
- /**
- * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.
- *
- * @name chain
- * @memberOf _
- * @since 0.1.0
- * @category Seq
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36 },
- * { 'user': 'fred', 'age': 40 }
- * ];
- *
- * // A sequence without explicit chaining.
- * _(users).head();
- * // => { 'user': 'barney', 'age': 36 }
- *
- * // A sequence with explicit chaining.
- * _(users)
- * .chain()
- * .head()
- * .pick('user')
- * .value();
- * // => { 'user': 'barney' }
- */
- function wrapperChain() {
- return chain(this);
- }
-
- /**
- * Executes the chain sequence and returns the wrapped result.
- *
- * @name commit
- * @memberOf _
- * @since 3.2.0
- * @category Seq
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * var array = [1, 2];
- * var wrapped = _(array).push(3);
- *
- * console.log(array);
- * // => [1, 2]
- *
- * wrapped = wrapped.commit();
- * console.log(array);
- * // => [1, 2, 3]
- *
- * wrapped.last();
- * // => 3
- *
- * console.log(array);
- * // => [1, 2, 3]
- */
- function wrapperCommit() {
- return new LodashWrapper(this.value(), this.__chain__);
- }
-
- /**
- * Gets the next value on a wrapped object following the
- * [iterator protocol](https://mdn.io/iteration_protocols#iterator).
- *
- * @name next
- * @memberOf _
- * @since 4.0.0
- * @category Seq
- * @returns {Object} Returns the next iterator value.
- * @example
- *
- * var wrapped = _([1, 2]);
- *
- * wrapped.next();
- * // => { 'done': false, 'value': 1 }
- *
- * wrapped.next();
- * // => { 'done': false, 'value': 2 }
- *
- * wrapped.next();
- * // => { 'done': true, 'value': undefined }
- */
- function wrapperNext() {
- if (this.__values__ === undefined) {
- this.__values__ = toArray(this.value());
- }
- var done = this.__index__ >= this.__values__.length,
- value = done ? undefined : this.__values__[this.__index__++];
-
- return { 'done': done, 'value': value };
- }
-
- /**
- * Enables the wrapper to be iterable.
- *
- * @name Symbol.iterator
- * @memberOf _
- * @since 4.0.0
- * @category Seq
- * @returns {Object} Returns the wrapper object.
- * @example
- *
- * var wrapped = _([1, 2]);
- *
- * wrapped[Symbol.iterator]() === wrapped;
- * // => true
- *
- * Array.from(wrapped);
- * // => [1, 2]
- */
- function wrapperToIterator() {
- return this;
- }
-
- /**
- * Creates a clone of the chain sequence planting `value` as the wrapped value.
- *
- * @name plant
- * @memberOf _
- * @since 3.2.0
- * @category Seq
- * @param {*} value The value to plant.
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * function square(n) {
- * return n * n;
- * }
- *
- * var wrapped = _([1, 2]).map(square);
- * var other = wrapped.plant([3, 4]);
- *
- * other.value();
- * // => [9, 16]
- *
- * wrapped.value();
- * // => [1, 4]
- */
- function wrapperPlant(value) {
- var result,
- parent = this;
-
- while (parent instanceof baseLodash) {
- var clone = wrapperClone(parent);
- clone.__index__ = 0;
- clone.__values__ = undefined;
- if (result) {
- previous.__wrapped__ = clone;
- } else {
- result = clone;
- }
- var previous = clone;
- parent = parent.__wrapped__;
- }
- previous.__wrapped__ = value;
- return result;
- }
-
- /**
- * This method is the wrapper version of `_.reverse`.
- *
- * **Note:** This method mutates the wrapped array.
- *
- * @name reverse
- * @memberOf _
- * @since 0.1.0
- * @category Seq
- * @returns {Object} Returns the new `lodash` wrapper instance.
- * @example
- *
- * var array = [1, 2, 3];
- *
- * _(array).reverse().value()
- * // => [3, 2, 1]
- *
- * console.log(array);
- * // => [3, 2, 1]
- */
- function wrapperReverse() {
- var value = this.__wrapped__;
- if (value instanceof LazyWrapper) {
- var wrapped = value;
- if (this.__actions__.length) {
- wrapped = new LazyWrapper(this);
- }
- wrapped = wrapped.reverse();
- wrapped.__actions__.push({
- 'func': thru,
- 'args': [reverse],
- 'thisArg': undefined
- });
- return new LodashWrapper(wrapped, this.__chain__);
- }
- return this.thru(reverse);
- }
-
- /**
- * Executes the chain sequence to resolve the unwrapped value.
- *
- * @name value
- * @memberOf _
- * @since 0.1.0
- * @alias toJSON, valueOf
- * @category Seq
- * @returns {*} Returns the resolved unwrapped value.
- * @example
- *
- * _([1, 2, 3]).value();
- * // => [1, 2, 3]
- */
- function wrapperValue() {
- return baseWrapperValue(this.__wrapped__, this.__actions__);
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates an object composed of keys generated from the results of running
- * each element of `collection` thru `iteratee`. The corresponding value of
- * each key is the number of times the key was returned by `iteratee`. The
- * iteratee is invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 0.5.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The iteratee to transform keys.
- * @returns {Object} Returns the composed aggregate object.
- * @example
- *
- * _.countBy([6.1, 4.2, 6.3], Math.floor);
- * // => { '4': 1, '6': 2 }
- *
- * // The `_.property` iteratee shorthand.
- * _.countBy(['one', 'two', 'three'], 'length');
- * // => { '3': 2, '5': 1 }
- */
- var countBy = createAggregator(function(result, value, key) {
- if (hasOwnProperty.call(result, key)) {
- ++result[key];
- } else {
- baseAssignValue(result, key, 1);
- }
- });
-
- /**
- * Checks if `predicate` returns truthy for **all** elements of `collection`.
- * Iteration is stopped once `predicate` returns falsey. The predicate is
- * invoked with three arguments: (value, index|key, collection).
- *
- * **Note:** This method returns `true` for
- * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because
- * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of
- * elements of empty collections.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {boolean} Returns `true` if all elements pass the predicate check,
- * else `false`.
- * @example
- *
- * _.every([true, 1, null, 'yes'], Boolean);
- * // => false
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': false },
- * { 'user': 'fred', 'age': 40, 'active': false }
- * ];
- *
- * // The `_.matches` iteratee shorthand.
- * _.every(users, { 'user': 'barney', 'active': false });
- * // => false
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.every(users, ['active', false]);
- * // => true
- *
- * // The `_.property` iteratee shorthand.
- * _.every(users, 'active');
- * // => false
- */
- function every(collection, predicate, guard) {
- var func = isArray(collection) ? arrayEvery : baseEvery;
- if (guard && isIterateeCall(collection, predicate, guard)) {
- predicate = undefined;
- }
- return func(collection, getIteratee(predicate, 3));
- }
-
- /**
- * Iterates over elements of `collection`, returning an array of all elements
- * `predicate` returns truthy for. The predicate is invoked with three
- * arguments: (value, index|key, collection).
- *
- * **Note:** Unlike `_.remove`, this method returns a new array.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new filtered array.
- * @see _.reject
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': true },
- * { 'user': 'fred', 'age': 40, 'active': false }
- * ];
- *
- * _.filter(users, function(o) { return !o.active; });
- * // => objects for ['fred']
- *
- * // The `_.matches` iteratee shorthand.
- * _.filter(users, { 'age': 36, 'active': true });
- * // => objects for ['barney']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.filter(users, ['active', false]);
- * // => objects for ['fred']
- *
- * // The `_.property` iteratee shorthand.
- * _.filter(users, 'active');
- * // => objects for ['barney']
- */
- function filter(collection, predicate) {
- var func = isArray(collection) ? arrayFilter : baseFilter;
- return func(collection, getIteratee(predicate, 3));
- }
-
- /**
- * Iterates over elements of `collection`, returning the first element
- * `predicate` returns truthy for. The predicate is invoked with three
- * arguments: (value, index|key, collection).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param {number} [fromIndex=0] The index to search from.
- * @returns {*} Returns the matched element, else `undefined`.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': true },
- * { 'user': 'fred', 'age': 40, 'active': false },
- * { 'user': 'pebbles', 'age': 1, 'active': true }
- * ];
- *
- * _.find(users, function(o) { return o.age < 40; });
- * // => object for 'barney'
- *
- * // The `_.matches` iteratee shorthand.
- * _.find(users, { 'age': 1, 'active': true });
- * // => object for 'pebbles'
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.find(users, ['active', false]);
- * // => object for 'fred'
- *
- * // The `_.property` iteratee shorthand.
- * _.find(users, 'active');
- * // => object for 'barney'
- */
- var find = createFind(findIndex);
-
- /**
- * This method is like `_.find` except that it iterates over elements of
- * `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param {number} [fromIndex=collection.length-1] The index to search from.
- * @returns {*} Returns the matched element, else `undefined`.
- * @example
- *
- * _.findLast([1, 2, 3, 4], function(n) {
- * return n % 2 == 1;
- * });
- * // => 3
- */
- var findLast = createFind(findLastIndex);
-
- /**
- * Creates a flattened array of values by running each element in `collection`
- * thru `iteratee` and flattening the mapped results. The iteratee is invoked
- * with three arguments: (value, index|key, collection).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * function duplicate(n) {
- * return [n, n];
- * }
- *
- * _.flatMap([1, 2], duplicate);
- * // => [1, 1, 2, 2]
- */
- function flatMap(collection, iteratee) {
- return baseFlatten(map(collection, iteratee), 1);
- }
-
- /**
- * This method is like `_.flatMap` except that it recursively flattens the
- * mapped results.
- *
- * @static
- * @memberOf _
- * @since 4.7.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * function duplicate(n) {
- * return [[[n, n]]];
- * }
- *
- * _.flatMapDeep([1, 2], duplicate);
- * // => [1, 1, 2, 2]
- */
- function flatMapDeep(collection, iteratee) {
- return baseFlatten(map(collection, iteratee), INFINITY);
- }
-
- /**
- * This method is like `_.flatMap` except that it recursively flattens the
- * mapped results up to `depth` times.
- *
- * @static
- * @memberOf _
- * @since 4.7.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {number} [depth=1] The maximum recursion depth.
- * @returns {Array} Returns the new flattened array.
- * @example
- *
- * function duplicate(n) {
- * return [[[n, n]]];
- * }
- *
- * _.flatMapDepth([1, 2], duplicate, 2);
- * // => [[1, 1], [2, 2]]
- */
- function flatMapDepth(collection, iteratee, depth) {
- depth = depth === undefined ? 1 : toInteger(depth);
- return baseFlatten(map(collection, iteratee), depth);
- }
-
- /**
- * Iterates over elements of `collection` and invokes `iteratee` for each element.
- * The iteratee is invoked with three arguments: (value, index|key, collection).
- * Iteratee functions may exit iteration early by explicitly returning `false`.
- *
- * **Note:** As with other "Collections" methods, objects with a "length"
- * property are iterated like arrays. To avoid this behavior use `_.forIn`
- * or `_.forOwn` for object iteration.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @alias each
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Array|Object} Returns `collection`.
- * @see _.forEachRight
- * @example
- *
- * _.forEach([1, 2], function(value) {
- * console.log(value);
- * });
- * // => Logs `1` then `2`.
- *
- * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
- * console.log(key);
- * });
- * // => Logs 'a' then 'b' (iteration order is not guaranteed).
- */
- function forEach(collection, iteratee) {
- var func = isArray(collection) ? arrayEach : baseEach;
- return func(collection, getIteratee(iteratee, 3));
- }
-
- /**
- * This method is like `_.forEach` except that it iterates over elements of
- * `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @alias eachRight
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Array|Object} Returns `collection`.
- * @see _.forEach
- * @example
- *
- * _.forEachRight([1, 2], function(value) {
- * console.log(value);
- * });
- * // => Logs `2` then `1`.
- */
- function forEachRight(collection, iteratee) {
- var func = isArray(collection) ? arrayEachRight : baseEachRight;
- return func(collection, getIteratee(iteratee, 3));
- }
-
- /**
- * Creates an object composed of keys generated from the results of running
- * each element of `collection` thru `iteratee`. The order of grouped values
- * is determined by the order they occur in `collection`. The corresponding
- * value of each key is an array of elements responsible for generating the
- * key. The iteratee is invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The iteratee to transform keys.
- * @returns {Object} Returns the composed aggregate object.
- * @example
- *
- * _.groupBy([6.1, 4.2, 6.3], Math.floor);
- * // => { '4': [4.2], '6': [6.1, 6.3] }
- *
- * // The `_.property` iteratee shorthand.
- * _.groupBy(['one', 'two', 'three'], 'length');
- * // => { '3': ['one', 'two'], '5': ['three'] }
- */
- var groupBy = createAggregator(function(result, value, key) {
- if (hasOwnProperty.call(result, key)) {
- result[key].push(value);
- } else {
- baseAssignValue(result, key, [value]);
- }
- });
-
- /**
- * Checks if `value` is in `collection`. If `collection` is a string, it's
- * checked for a substring of `value`, otherwise
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * is used for equality comparisons. If `fromIndex` is negative, it's used as
- * the offset from the end of `collection`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object|string} collection The collection to inspect.
- * @param {*} value The value to search for.
- * @param {number} [fromIndex=0] The index to search from.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
- * @returns {boolean} Returns `true` if `value` is found, else `false`.
- * @example
- *
- * _.includes([1, 2, 3], 1);
- * // => true
- *
- * _.includes([1, 2, 3], 1, 2);
- * // => false
- *
- * _.includes({ 'a': 1, 'b': 2 }, 1);
- * // => true
- *
- * _.includes('abcd', 'bc');
- * // => true
- */
- function includes(collection, value, fromIndex, guard) {
- collection = isArrayLike(collection) ? collection : values(collection);
- fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;
-
- var length = collection.length;
- if (fromIndex < 0) {
- fromIndex = nativeMax(length + fromIndex, 0);
- }
- return isString(collection)
- ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)
- : (!!length && baseIndexOf(collection, value, fromIndex) > -1);
- }
-
- /**
- * Invokes the method at `path` of each element in `collection`, returning
- * an array of the results of each invoked method. Any additional arguments
- * are provided to each invoked method. If `path` is a function, it's invoked
- * for, and `this` bound to, each element in `collection`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Array|Function|string} path The path of the method to invoke or
- * the function invoked per iteration.
- * @param {...*} [args] The arguments to invoke each method with.
- * @returns {Array} Returns the array of results.
- * @example
- *
- * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');
- * // => [[1, 5, 7], [1, 2, 3]]
- *
- * _.invokeMap([123, 456], String.prototype.split, '');
- * // => [['1', '2', '3'], ['4', '5', '6']]
- */
- var invokeMap = baseRest(function(collection, path, args) {
- var index = -1,
- isFunc = typeof path == 'function',
- result = isArrayLike(collection) ? Array(collection.length) : [];
-
- baseEach(collection, function(value) {
- result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);
- });
- return result;
- });
-
- /**
- * Creates an object composed of keys generated from the results of running
- * each element of `collection` thru `iteratee`. The corresponding value of
- * each key is the last element responsible for generating the key. The
- * iteratee is invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The iteratee to transform keys.
- * @returns {Object} Returns the composed aggregate object.
- * @example
- *
- * var array = [
- * { 'dir': 'left', 'code': 97 },
- * { 'dir': 'right', 'code': 100 }
- * ];
- *
- * _.keyBy(array, function(o) {
- * return String.fromCharCode(o.code);
- * });
- * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
- *
- * _.keyBy(array, 'dir');
- * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
- */
- var keyBy = createAggregator(function(result, value, key) {
- baseAssignValue(result, key, value);
- });
-
- /**
- * Creates an array of values by running each element in `collection` thru
- * `iteratee`. The iteratee is invoked with three arguments:
- * (value, index|key, collection).
- *
- * Many lodash methods are guarded to work as iteratees for methods like
- * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
- *
- * The guarded methods are:
- * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
- * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
- * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
- * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new mapped array.
- * @example
- *
- * function square(n) {
- * return n * n;
- * }
- *
- * _.map([4, 8], square);
- * // => [16, 64]
- *
- * _.map({ 'a': 4, 'b': 8 }, square);
- * // => [16, 64] (iteration order is not guaranteed)
- *
- * var users = [
- * { 'user': 'barney' },
- * { 'user': 'fred' }
- * ];
- *
- * // The `_.property` iteratee shorthand.
- * _.map(users, 'user');
- * // => ['barney', 'fred']
- */
- function map(collection, iteratee) {
- var func = isArray(collection) ? arrayMap : baseMap;
- return func(collection, getIteratee(iteratee, 3));
- }
-
- /**
- * This method is like `_.sortBy` except that it allows specifying the sort
- * orders of the iteratees to sort by. If `orders` is unspecified, all values
- * are sorted in ascending order. Otherwise, specify an order of "desc" for
- * descending or "asc" for ascending sort order of corresponding values.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]
- * The iteratees to sort by.
- * @param {string[]} [orders] The sort orders of `iteratees`.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
- * @returns {Array} Returns the new sorted array.
- * @example
- *
- * var users = [
- * { 'user': 'fred', 'age': 48 },
- * { 'user': 'barney', 'age': 34 },
- * { 'user': 'fred', 'age': 40 },
- * { 'user': 'barney', 'age': 36 }
- * ];
- *
- * // Sort by `user` in ascending order and by `age` in descending order.
- * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
- * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
- */
- function orderBy(collection, iteratees, orders, guard) {
- if (collection == null) {
- return [];
- }
- if (!isArray(iteratees)) {
- iteratees = iteratees == null ? [] : [iteratees];
- }
- orders = guard ? undefined : orders;
- if (!isArray(orders)) {
- orders = orders == null ? [] : [orders];
- }
- return baseOrderBy(collection, iteratees, orders);
- }
-
- /**
- * Creates an array of elements split into two groups, the first of which
- * contains elements `predicate` returns truthy for, the second of which
- * contains elements `predicate` returns falsey for. The predicate is
- * invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the array of grouped elements.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': false },
- * { 'user': 'fred', 'age': 40, 'active': true },
- * { 'user': 'pebbles', 'age': 1, 'active': false }
- * ];
- *
- * _.partition(users, function(o) { return o.active; });
- * // => objects for [['fred'], ['barney', 'pebbles']]
- *
- * // The `_.matches` iteratee shorthand.
- * _.partition(users, { 'age': 1, 'active': false });
- * // => objects for [['pebbles'], ['barney', 'fred']]
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.partition(users, ['active', false]);
- * // => objects for [['barney', 'pebbles'], ['fred']]
- *
- * // The `_.property` iteratee shorthand.
- * _.partition(users, 'active');
- * // => objects for [['fred'], ['barney', 'pebbles']]
- */
- var partition = createAggregator(function(result, value, key) {
- result[key ? 0 : 1].push(value);
- }, function() { return [[], []]; });
-
- /**
- * Reduces `collection` to a value which is the accumulated result of running
- * each element in `collection` thru `iteratee`, where each successive
- * invocation is supplied the return value of the previous. If `accumulator`
- * is not given, the first element of `collection` is used as the initial
- * value. The iteratee is invoked with four arguments:
- * (accumulator, value, index|key, collection).
- *
- * Many lodash methods are guarded to work as iteratees for methods like
- * `_.reduce`, `_.reduceRight`, and `_.transform`.
- *
- * The guarded methods are:
- * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,
- * and `sortBy`
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {*} [accumulator] The initial value.
- * @returns {*} Returns the accumulated value.
- * @see _.reduceRight
- * @example
- *
- * _.reduce([1, 2], function(sum, n) {
- * return sum + n;
- * }, 0);
- * // => 3
- *
- * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
- * (result[value] || (result[value] = [])).push(key);
- * return result;
- * }, {});
- * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)
- */
- function reduce(collection, iteratee, accumulator) {
- var func = isArray(collection) ? arrayReduce : baseReduce,
- initAccum = arguments.length < 3;
-
- return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);
- }
-
- /**
- * This method is like `_.reduce` except that it iterates over elements of
- * `collection` from right to left.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {*} [accumulator] The initial value.
- * @returns {*} Returns the accumulated value.
- * @see _.reduce
- * @example
- *
- * var array = [[0, 1], [2, 3], [4, 5]];
- *
- * _.reduceRight(array, function(flattened, other) {
- * return flattened.concat(other);
- * }, []);
- * // => [4, 5, 2, 3, 0, 1]
- */
- function reduceRight(collection, iteratee, accumulator) {
- var func = isArray(collection) ? arrayReduceRight : baseReduce,
- initAccum = arguments.length < 3;
-
- return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);
- }
-
- /**
- * The opposite of `_.filter`; this method returns the elements of `collection`
- * that `predicate` does **not** return truthy for.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {Array} Returns the new filtered array.
- * @see _.filter
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36, 'active': false },
- * { 'user': 'fred', 'age': 40, 'active': true }
- * ];
- *
- * _.reject(users, function(o) { return !o.active; });
- * // => objects for ['fred']
- *
- * // The `_.matches` iteratee shorthand.
- * _.reject(users, { 'age': 40, 'active': true });
- * // => objects for ['barney']
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.reject(users, ['active', false]);
- * // => objects for ['fred']
- *
- * // The `_.property` iteratee shorthand.
- * _.reject(users, 'active');
- * // => objects for ['barney']
- */
- function reject(collection, predicate) {
- var func = isArray(collection) ? arrayFilter : baseFilter;
- return func(collection, negate(getIteratee(predicate, 3)));
- }
-
- /**
- * Gets a random element from `collection`.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to sample.
- * @returns {*} Returns the random element.
- * @example
- *
- * _.sample([1, 2, 3, 4]);
- * // => 2
- */
- function sample(collection) {
- var func = isArray(collection) ? arraySample : baseSample;
- return func(collection);
- }
-
- /**
- * Gets `n` random elements at unique keys from `collection` up to the
- * size of `collection`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Collection
- * @param {Array|Object} collection The collection to sample.
- * @param {number} [n=1] The number of elements to sample.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Array} Returns the random elements.
- * @example
- *
- * _.sampleSize([1, 2, 3], 2);
- * // => [3, 1]
- *
- * _.sampleSize([1, 2, 3], 4);
- * // => [2, 3, 1]
- */
- function sampleSize(collection, n, guard) {
- if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {
- n = 1;
- } else {
- n = toInteger(n);
- }
- var func = isArray(collection) ? arraySampleSize : baseSampleSize;
- return func(collection, n);
- }
-
- /**
- * Creates an array of shuffled values, using a version of the
- * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to shuffle.
- * @returns {Array} Returns the new shuffled array.
- * @example
- *
- * _.shuffle([1, 2, 3, 4]);
- * // => [4, 1, 3, 2]
- */
- function shuffle(collection) {
- var func = isArray(collection) ? arrayShuffle : baseShuffle;
- return func(collection);
- }
-
- /**
- * Gets the size of `collection` by returning its length for array-like
- * values or the number of own enumerable string keyed properties for objects.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object|string} collection The collection to inspect.
- * @returns {number} Returns the collection size.
- * @example
- *
- * _.size([1, 2, 3]);
- * // => 3
- *
- * _.size({ 'a': 1, 'b': 2 });
- * // => 2
- *
- * _.size('pebbles');
- * // => 7
- */
- function size(collection) {
- if (collection == null) {
- return 0;
- }
- if (isArrayLike(collection)) {
- return isString(collection) ? stringSize(collection) : collection.length;
- }
- var tag = getTag(collection);
- if (tag == mapTag || tag == setTag) {
- return collection.size;
- }
- return baseKeys(collection).length;
- }
-
- /**
- * Checks if `predicate` returns truthy for **any** element of `collection`.
- * Iteration is stopped once `predicate` returns truthy. The predicate is
- * invoked with three arguments: (value, index|key, collection).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {boolean} Returns `true` if any element passes the predicate check,
- * else `false`.
- * @example
- *
- * _.some([null, 0, 'yes', false], Boolean);
- * // => true
- *
- * var users = [
- * { 'user': 'barney', 'active': true },
- * { 'user': 'fred', 'active': false }
- * ];
- *
- * // The `_.matches` iteratee shorthand.
- * _.some(users, { 'user': 'barney', 'active': false });
- * // => false
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.some(users, ['active', false]);
- * // => true
- *
- * // The `_.property` iteratee shorthand.
- * _.some(users, 'active');
- * // => true
- */
- function some(collection, predicate, guard) {
- var func = isArray(collection) ? arraySome : baseSome;
- if (guard && isIterateeCall(collection, predicate, guard)) {
- predicate = undefined;
- }
- return func(collection, getIteratee(predicate, 3));
- }
-
- /**
- * Creates an array of elements, sorted in ascending order by the results of
- * running each element in a collection thru each iteratee. This method
- * performs a stable sort, that is, it preserves the original sort order of
- * equal elements. The iteratees are invoked with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Collection
- * @param {Array|Object} collection The collection to iterate over.
- * @param {...(Function|Function[])} [iteratees=[_.identity]]
- * The iteratees to sort by.
- * @returns {Array} Returns the new sorted array.
- * @example
- *
- * var users = [
- * { 'user': 'fred', 'age': 48 },
- * { 'user': 'barney', 'age': 36 },
- * { 'user': 'fred', 'age': 40 },
- * { 'user': 'barney', 'age': 34 }
- * ];
- *
- * _.sortBy(users, [function(o) { return o.user; }]);
- * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
- *
- * _.sortBy(users, ['user', 'age']);
- * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]
- */
- var sortBy = baseRest(function(collection, iteratees) {
- if (collection == null) {
- return [];
- }
- var length = iteratees.length;
- if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {
- iteratees = [];
- } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {
- iteratees = [iteratees[0]];
- }
- return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
- });
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Gets the timestamp of the number of milliseconds that have elapsed since
- * the Unix epoch (1 January 1970 00:00:00 UTC).
- *
- * @static
- * @memberOf _
- * @since 2.4.0
- * @category Date
- * @returns {number} Returns the timestamp.
- * @example
- *
- * _.defer(function(stamp) {
- * console.log(_.now() - stamp);
- * }, _.now());
- * // => Logs the number of milliseconds it took for the deferred invocation.
- */
- var now = ctxNow || function() {
- return root.Date.now();
- };
-
- /*------------------------------------------------------------------------*/
-
- /**
- * The opposite of `_.before`; this method creates a function that invokes
- * `func` once it's called `n` or more times.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {number} n The number of calls before `func` is invoked.
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * var saves = ['profile', 'settings'];
- *
- * var done = _.after(saves.length, function() {
- * console.log('done saving!');
- * });
- *
- * _.forEach(saves, function(type) {
- * asyncSave({ 'type': type, 'complete': done });
- * });
- * // => Logs 'done saving!' after the two async saves have completed.
- */
- function after(n, func) {
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- n = toInteger(n);
- return function() {
- if (--n < 1) {
- return func.apply(this, arguments);
- }
- };
- }
-
- /**
- * Creates a function that invokes `func`, with up to `n` arguments,
- * ignoring any additional arguments.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Function
- * @param {Function} func The function to cap arguments for.
- * @param {number} [n=func.length] The arity cap.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Function} Returns the new capped function.
- * @example
- *
- * _.map(['6', '8', '10'], _.ary(parseInt, 1));
- * // => [6, 8, 10]
- */
- function ary(func, n, guard) {
- n = guard ? undefined : n;
- n = (func && n == null) ? func.length : n;
- return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);
- }
-
- /**
- * Creates a function that invokes `func`, with the `this` binding and arguments
- * of the created function, while it's called less than `n` times. Subsequent
- * calls to the created function return the result of the last `func` invocation.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Function
- * @param {number} n The number of calls at which `func` is no longer invoked.
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * jQuery(element).on('click', _.before(5, addContactToList));
- * // => Allows adding up to 4 contacts to the list.
- */
- function before(n, func) {
- var result;
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- n = toInteger(n);
- return function() {
- if (--n > 0) {
- result = func.apply(this, arguments);
- }
- if (n <= 1) {
- func = undefined;
- }
- return result;
- };
- }
-
- /**
- * Creates a function that invokes `func` with the `this` binding of `thisArg`
- * and `partials` prepended to the arguments it receives.
- *
- * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
- * may be used as a placeholder for partially applied arguments.
- *
- * **Note:** Unlike native `Function#bind`, this method doesn't set the "length"
- * property of bound functions.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to bind.
- * @param {*} thisArg The `this` binding of `func`.
- * @param {...*} [partials] The arguments to be partially applied.
- * @returns {Function} Returns the new bound function.
- * @example
- *
- * function greet(greeting, punctuation) {
- * return greeting + ' ' + this.user + punctuation;
- * }
- *
- * var object = { 'user': 'fred' };
- *
- * var bound = _.bind(greet, object, 'hi');
- * bound('!');
- * // => 'hi fred!'
- *
- * // Bound with placeholders.
- * var bound = _.bind(greet, object, _, '!');
- * bound('hi');
- * // => 'hi fred!'
- */
- var bind = baseRest(function(func, thisArg, partials) {
- var bitmask = WRAP_BIND_FLAG;
- if (partials.length) {
- var holders = replaceHolders(partials, getHolder(bind));
- bitmask |= WRAP_PARTIAL_FLAG;
- }
- return createWrap(func, bitmask, thisArg, partials, holders);
- });
-
- /**
- * Creates a function that invokes the method at `object[key]` with `partials`
- * prepended to the arguments it receives.
- *
- * This method differs from `_.bind` by allowing bound functions to reference
- * methods that may be redefined or don't yet exist. See
- * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
- * for more details.
- *
- * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic
- * builds, may be used as a placeholder for partially applied arguments.
- *
- * @static
- * @memberOf _
- * @since 0.10.0
- * @category Function
- * @param {Object} object The object to invoke the method on.
- * @param {string} key The key of the method.
- * @param {...*} [partials] The arguments to be partially applied.
- * @returns {Function} Returns the new bound function.
- * @example
- *
- * var object = {
- * 'user': 'fred',
- * 'greet': function(greeting, punctuation) {
- * return greeting + ' ' + this.user + punctuation;
- * }
- * };
- *
- * var bound = _.bindKey(object, 'greet', 'hi');
- * bound('!');
- * // => 'hi fred!'
- *
- * object.greet = function(greeting, punctuation) {
- * return greeting + 'ya ' + this.user + punctuation;
- * };
- *
- * bound('!');
- * // => 'hiya fred!'
- *
- * // Bound with placeholders.
- * var bound = _.bindKey(object, 'greet', _, '!');
- * bound('hi');
- * // => 'hiya fred!'
- */
- var bindKey = baseRest(function(object, key, partials) {
- var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;
- if (partials.length) {
- var holders = replaceHolders(partials, getHolder(bindKey));
- bitmask |= WRAP_PARTIAL_FLAG;
- }
- return createWrap(key, bitmask, object, partials, holders);
- });
-
- /**
- * Creates a function that accepts arguments of `func` and either invokes
- * `func` returning its result, if at least `arity` number of arguments have
- * been provided, or returns a function that accepts the remaining `func`
- * arguments, and so on. The arity of `func` may be specified if `func.length`
- * is not sufficient.
- *
- * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,
- * may be used as a placeholder for provided arguments.
- *
- * **Note:** This method doesn't set the "length" property of curried functions.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Function
- * @param {Function} func The function to curry.
- * @param {number} [arity=func.length] The arity of `func`.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Function} Returns the new curried function.
- * @example
- *
- * var abc = function(a, b, c) {
- * return [a, b, c];
- * };
- *
- * var curried = _.curry(abc);
- *
- * curried(1)(2)(3);
- * // => [1, 2, 3]
- *
- * curried(1, 2)(3);
- * // => [1, 2, 3]
- *
- * curried(1, 2, 3);
- * // => [1, 2, 3]
- *
- * // Curried with placeholders.
- * curried(1)(_, 3)(2);
- * // => [1, 2, 3]
- */
- function curry(func, arity, guard) {
- arity = guard ? undefined : arity;
- var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
- result.placeholder = curry.placeholder;
- return result;
- }
-
- /**
- * This method is like `_.curry` except that arguments are applied to `func`
- * in the manner of `_.partialRight` instead of `_.partial`.
- *
- * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic
- * builds, may be used as a placeholder for provided arguments.
- *
- * **Note:** This method doesn't set the "length" property of curried functions.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Function
- * @param {Function} func The function to curry.
- * @param {number} [arity=func.length] The arity of `func`.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Function} Returns the new curried function.
- * @example
- *
- * var abc = function(a, b, c) {
- * return [a, b, c];
- * };
- *
- * var curried = _.curryRight(abc);
- *
- * curried(3)(2)(1);
- * // => [1, 2, 3]
- *
- * curried(2, 3)(1);
- * // => [1, 2, 3]
- *
- * curried(1, 2, 3);
- * // => [1, 2, 3]
- *
- * // Curried with placeholders.
- * curried(3)(1, _)(2);
- * // => [1, 2, 3]
- */
- function curryRight(func, arity, guard) {
- arity = guard ? undefined : arity;
- var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
- result.placeholder = curryRight.placeholder;
- return result;
- }
-
- /**
- * Creates a debounced function that delays invoking `func` until after `wait`
- * milliseconds have elapsed since the last time the debounced function was
- * invoked. The debounced function comes with a `cancel` method to cancel
- * delayed `func` invocations and a `flush` method to immediately invoke them.
- * Provide `options` to indicate whether `func` should be invoked on the
- * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
- * with the last arguments provided to the debounced function. Subsequent
- * calls to the debounced function return the result of the last `func`
- * invocation.
- *
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
- * invoked on the trailing edge of the timeout only if the debounced function
- * is invoked more than once during the `wait` timeout.
- *
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
- *
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
- * for details over the differences between `_.debounce` and `_.throttle`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to debounce.
- * @param {number} [wait=0] The number of milliseconds to delay.
- * @param {Object} [options={}] The options object.
- * @param {boolean} [options.leading=false]
- * Specify invoking on the leading edge of the timeout.
- * @param {number} [options.maxWait]
- * The maximum time `func` is allowed to be delayed before it's invoked.
- * @param {boolean} [options.trailing=true]
- * Specify invoking on the trailing edge of the timeout.
- * @returns {Function} Returns the new debounced function.
- * @example
- *
- * // Avoid costly calculations while the window size is in flux.
- * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
- *
- * // Invoke `sendMail` when clicked, debouncing subsequent calls.
- * jQuery(element).on('click', _.debounce(sendMail, 300, {
- * 'leading': true,
- * 'trailing': false
- * }));
- *
- * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
- * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
- * var source = new EventSource('/stream');
- * jQuery(source).on('message', debounced);
- *
- * // Cancel the trailing debounced invocation.
- * jQuery(window).on('popstate', debounced.cancel);
- */
- function debounce(func, wait, options) {
- var lastArgs,
- lastThis,
- maxWait,
- result,
- timerId,
- lastCallTime,
- lastInvokeTime = 0,
- leading = false,
- maxing = false,
- trailing = true;
-
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- wait = toNumber(wait) || 0;
- if (isObject(options)) {
- leading = !!options.leading;
- maxing = 'maxWait' in options;
- maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
- trailing = 'trailing' in options ? !!options.trailing : trailing;
- }
-
- function invokeFunc(time) {
- var args = lastArgs,
- thisArg = lastThis;
-
- lastArgs = lastThis = undefined;
- lastInvokeTime = time;
- result = func.apply(thisArg, args);
- return result;
- }
-
- function leadingEdge(time) {
- // Reset any `maxWait` timer.
- lastInvokeTime = time;
- // Start the timer for the trailing edge.
- timerId = setTimeout(timerExpired, wait);
- // Invoke the leading edge.
- return leading ? invokeFunc(time) : result;
- }
-
- function remainingWait(time) {
- var timeSinceLastCall = time - lastCallTime,
- timeSinceLastInvoke = time - lastInvokeTime,
- timeWaiting = wait - timeSinceLastCall;
-
- return maxing
- ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
- : timeWaiting;
- }
-
- function shouldInvoke(time) {
- var timeSinceLastCall = time - lastCallTime,
- timeSinceLastInvoke = time - lastInvokeTime;
-
- // Either this is the first call, activity has stopped and we're at the
- // trailing edge, the system time has gone backwards and we're treating
- // it as the trailing edge, or we've hit the `maxWait` limit.
- return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
- (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
- }
-
- function timerExpired() {
- var time = now();
- if (shouldInvoke(time)) {
- return trailingEdge(time);
- }
- // Restart the timer.
- timerId = setTimeout(timerExpired, remainingWait(time));
- }
-
- function trailingEdge(time) {
- timerId = undefined;
-
- // Only invoke if we have `lastArgs` which means `func` has been
- // debounced at least once.
- if (trailing && lastArgs) {
- return invokeFunc(time);
- }
- lastArgs = lastThis = undefined;
- return result;
- }
-
- function cancel() {
- if (timerId !== undefined) {
- clearTimeout(timerId);
- }
- lastInvokeTime = 0;
- lastArgs = lastCallTime = lastThis = timerId = undefined;
- }
-
- function flush() {
- return timerId === undefined ? result : trailingEdge(now());
- }
-
- function debounced() {
- var time = now(),
- isInvoking = shouldInvoke(time);
-
- lastArgs = arguments;
- lastThis = this;
- lastCallTime = time;
-
- if (isInvoking) {
- if (timerId === undefined) {
- return leadingEdge(lastCallTime);
- }
- if (maxing) {
- // Handle invocations in a tight loop.
- timerId = setTimeout(timerExpired, wait);
- return invokeFunc(lastCallTime);
- }
- }
- if (timerId === undefined) {
- timerId = setTimeout(timerExpired, wait);
- }
- return result;
- }
- debounced.cancel = cancel;
- debounced.flush = flush;
- return debounced;
- }
-
- /**
- * Defers invoking the `func` until the current call stack has cleared. Any
- * additional arguments are provided to `func` when it's invoked.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to defer.
- * @param {...*} [args] The arguments to invoke `func` with.
- * @returns {number} Returns the timer id.
- * @example
- *
- * _.defer(function(text) {
- * console.log(text);
- * }, 'deferred');
- * // => Logs 'deferred' after one millisecond.
- */
- var defer = baseRest(function(func, args) {
- return baseDelay(func, 1, args);
- });
-
- /**
- * Invokes `func` after `wait` milliseconds. Any additional arguments are
- * provided to `func` when it's invoked.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to delay.
- * @param {number} wait The number of milliseconds to delay invocation.
- * @param {...*} [args] The arguments to invoke `func` with.
- * @returns {number} Returns the timer id.
- * @example
- *
- * _.delay(function(text) {
- * console.log(text);
- * }, 1000, 'later');
- * // => Logs 'later' after one second.
- */
- var delay = baseRest(function(func, wait, args) {
- return baseDelay(func, toNumber(wait) || 0, args);
- });
-
- /**
- * Creates a function that invokes `func` with arguments reversed.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Function
- * @param {Function} func The function to flip arguments for.
- * @returns {Function} Returns the new flipped function.
- * @example
- *
- * var flipped = _.flip(function() {
- * return _.toArray(arguments);
- * });
- *
- * flipped('a', 'b', 'c', 'd');
- * // => ['d', 'c', 'b', 'a']
- */
- function flip(func) {
- return createWrap(func, WRAP_FLIP_FLAG);
- }
-
- /**
- * Creates a function that memoizes the result of `func`. If `resolver` is
- * provided, it determines the cache key for storing the result based on the
- * arguments provided to the memoized function. By default, the first argument
- * provided to the memoized function is used as the map cache key. The `func`
- * is invoked with the `this` binding of the memoized function.
- *
- * **Note:** The cache is exposed as the `cache` property on the memoized
- * function. Its creation may be customized by replacing the `_.memoize.Cache`
- * constructor with one whose instances implement the
- * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
- * method interface of `clear`, `delete`, `get`, `has`, and `set`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to have its output memoized.
- * @param {Function} [resolver] The function to resolve the cache key.
- * @returns {Function} Returns the new memoized function.
- * @example
- *
- * var object = { 'a': 1, 'b': 2 };
- * var other = { 'c': 3, 'd': 4 };
- *
- * var values = _.memoize(_.values);
- * values(object);
- * // => [1, 2]
- *
- * values(other);
- * // => [3, 4]
- *
- * object.a = 2;
- * values(object);
- * // => [1, 2]
- *
- * // Modify the result cache.
- * values.cache.set(object, ['a', 'b']);
- * values(object);
- * // => ['a', 'b']
- *
- * // Replace `_.memoize.Cache`.
- * _.memoize.Cache = WeakMap;
- */
- function memoize(func, resolver) {
- if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- var memoized = function() {
- var args = arguments,
- key = resolver ? resolver.apply(this, args) : args[0],
- cache = memoized.cache;
-
- if (cache.has(key)) {
- return cache.get(key);
- }
- var result = func.apply(this, args);
- memoized.cache = cache.set(key, result) || cache;
- return result;
- };
- memoized.cache = new (memoize.Cache || MapCache);
- return memoized;
- }
-
- // Expose `MapCache`.
- memoize.Cache = MapCache;
-
- /**
- * Creates a function that negates the result of the predicate `func`. The
- * `func` predicate is invoked with the `this` binding and arguments of the
- * created function.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Function
- * @param {Function} predicate The predicate to negate.
- * @returns {Function} Returns the new negated function.
- * @example
- *
- * function isEven(n) {
- * return n % 2 == 0;
- * }
- *
- * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
- * // => [1, 3, 5]
- */
- function negate(predicate) {
- if (typeof predicate != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- return function() {
- var args = arguments;
- switch (args.length) {
- case 0: return !predicate.call(this);
- case 1: return !predicate.call(this, args[0]);
- case 2: return !predicate.call(this, args[0], args[1]);
- case 3: return !predicate.call(this, args[0], args[1], args[2]);
- }
- return !predicate.apply(this, args);
- };
- }
-
- /**
- * Creates a function that is restricted to invoking `func` once. Repeat calls
- * to the function return the value of the first invocation. The `func` is
- * invoked with the `this` binding and arguments of the created function.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to restrict.
- * @returns {Function} Returns the new restricted function.
- * @example
- *
- * var initialize = _.once(createApplication);
- * initialize();
- * initialize();
- * // => `createApplication` is invoked once
- */
- function once(func) {
- return before(2, func);
- }
-
- /**
- * Creates a function that invokes `func` with its arguments transformed.
- *
- * @static
- * @since 4.0.0
- * @memberOf _
- * @category Function
- * @param {Function} func The function to wrap.
- * @param {...(Function|Function[])} [transforms=[_.identity]]
- * The argument transforms.
- * @returns {Function} Returns the new function.
- * @example
- *
- * function doubled(n) {
- * return n * 2;
- * }
- *
- * function square(n) {
- * return n * n;
- * }
- *
- * var func = _.overArgs(function(x, y) {
- * return [x, y];
- * }, [square, doubled]);
- *
- * func(9, 3);
- * // => [81, 6]
- *
- * func(10, 5);
- * // => [100, 10]
- */
- var overArgs = castRest(function(func, transforms) {
- transforms = (transforms.length == 1 && isArray(transforms[0]))
- ? arrayMap(transforms[0], baseUnary(getIteratee()))
- : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));
-
- var funcsLength = transforms.length;
- return baseRest(function(args) {
- var index = -1,
- length = nativeMin(args.length, funcsLength);
-
- while (++index < length) {
- args[index] = transforms[index].call(this, args[index]);
- }
- return apply(func, this, args);
- });
- });
-
- /**
- * Creates a function that invokes `func` with `partials` prepended to the
- * arguments it receives. This method is like `_.bind` except it does **not**
- * alter the `this` binding.
- *
- * The `_.partial.placeholder` value, which defaults to `_` in monolithic
- * builds, may be used as a placeholder for partially applied arguments.
- *
- * **Note:** This method doesn't set the "length" property of partially
- * applied functions.
- *
- * @static
- * @memberOf _
- * @since 0.2.0
- * @category Function
- * @param {Function} func The function to partially apply arguments to.
- * @param {...*} [partials] The arguments to be partially applied.
- * @returns {Function} Returns the new partially applied function.
- * @example
- *
- * function greet(greeting, name) {
- * return greeting + ' ' + name;
- * }
- *
- * var sayHelloTo = _.partial(greet, 'hello');
- * sayHelloTo('fred');
- * // => 'hello fred'
- *
- * // Partially applied with placeholders.
- * var greetFred = _.partial(greet, _, 'fred');
- * greetFred('hi');
- * // => 'hi fred'
- */
- var partial = baseRest(function(func, partials) {
- var holders = replaceHolders(partials, getHolder(partial));
- return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);
- });
-
- /**
- * This method is like `_.partial` except that partially applied arguments
- * are appended to the arguments it receives.
- *
- * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic
- * builds, may be used as a placeholder for partially applied arguments.
- *
- * **Note:** This method doesn't set the "length" property of partially
- * applied functions.
- *
- * @static
- * @memberOf _
- * @since 1.0.0
- * @category Function
- * @param {Function} func The function to partially apply arguments to.
- * @param {...*} [partials] The arguments to be partially applied.
- * @returns {Function} Returns the new partially applied function.
- * @example
- *
- * function greet(greeting, name) {
- * return greeting + ' ' + name;
- * }
- *
- * var greetFred = _.partialRight(greet, 'fred');
- * greetFred('hi');
- * // => 'hi fred'
- *
- * // Partially applied with placeholders.
- * var sayHelloTo = _.partialRight(greet, 'hello', _);
- * sayHelloTo('fred');
- * // => 'hello fred'
- */
- var partialRight = baseRest(function(func, partials) {
- var holders = replaceHolders(partials, getHolder(partialRight));
- return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);
- });
-
- /**
- * Creates a function that invokes `func` with arguments arranged according
- * to the specified `indexes` where the argument value at the first index is
- * provided as the first argument, the argument value at the second index is
- * provided as the second argument, and so on.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Function
- * @param {Function} func The function to rearrange arguments for.
- * @param {...(number|number[])} indexes The arranged argument indexes.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var rearged = _.rearg(function(a, b, c) {
- * return [a, b, c];
- * }, [2, 0, 1]);
- *
- * rearged('b', 'c', 'a')
- * // => ['a', 'b', 'c']
- */
- var rearg = flatRest(function(func, indexes) {
- return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);
- });
-
- /**
- * Creates a function that invokes `func` with the `this` binding of the
- * created function and arguments from `start` and beyond provided as
- * an array.
- *
- * **Note:** This method is based on the
- * [rest parameter](https://mdn.io/rest_parameters).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Function
- * @param {Function} func The function to apply a rest parameter to.
- * @param {number} [start=func.length-1] The start position of the rest parameter.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var say = _.rest(function(what, names) {
- * return what + ' ' + _.initial(names).join(', ') +
- * (_.size(names) > 1 ? ', & ' : '') + _.last(names);
- * });
- *
- * say('hello', 'fred', 'barney', 'pebbles');
- * // => 'hello fred, barney, & pebbles'
- */
- function rest(func, start) {
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- start = start === undefined ? start : toInteger(start);
- return baseRest(func, start);
- }
-
- /**
- * Creates a function that invokes `func` with the `this` binding of the
- * create function and an array of arguments much like
- * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).
- *
- * **Note:** This method is based on the
- * [spread operator](https://mdn.io/spread_operator).
- *
- * @static
- * @memberOf _
- * @since 3.2.0
- * @category Function
- * @param {Function} func The function to spread arguments over.
- * @param {number} [start=0] The start position of the spread.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var say = _.spread(function(who, what) {
- * return who + ' says ' + what;
- * });
- *
- * say(['fred', 'hello']);
- * // => 'fred says hello'
- *
- * var numbers = Promise.all([
- * Promise.resolve(40),
- * Promise.resolve(36)
- * ]);
- *
- * numbers.then(_.spread(function(x, y) {
- * return x + y;
- * }));
- * // => a Promise of 76
- */
- function spread(func, start) {
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- start = start == null ? 0 : nativeMax(toInteger(start), 0);
- return baseRest(function(args) {
- var array = args[start],
- otherArgs = castSlice(args, 0, start);
-
- if (array) {
- arrayPush(otherArgs, array);
- }
- return apply(func, this, otherArgs);
- });
- }
-
- /**
- * Creates a throttled function that only invokes `func` at most once per
- * every `wait` milliseconds. The throttled function comes with a `cancel`
- * method to cancel delayed `func` invocations and a `flush` method to
- * immediately invoke them. Provide `options` to indicate whether `func`
- * should be invoked on the leading and/or trailing edge of the `wait`
- * timeout. The `func` is invoked with the last arguments provided to the
- * throttled function. Subsequent calls to the throttled function return the
- * result of the last `func` invocation.
- *
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
- * invoked on the trailing edge of the timeout only if the throttled function
- * is invoked more than once during the `wait` timeout.
- *
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
- *
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
- * for details over the differences between `_.throttle` and `_.debounce`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to throttle.
- * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
- * @param {Object} [options={}] The options object.
- * @param {boolean} [options.leading=true]
- * Specify invoking on the leading edge of the timeout.
- * @param {boolean} [options.trailing=true]
- * Specify invoking on the trailing edge of the timeout.
- * @returns {Function} Returns the new throttled function.
- * @example
- *
- * // Avoid excessively updating the position while scrolling.
- * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
- *
- * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
- * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
- * jQuery(element).on('click', throttled);
- *
- * // Cancel the trailing throttled invocation.
- * jQuery(window).on('popstate', throttled.cancel);
- */
- function throttle(func, wait, options) {
- var leading = true,
- trailing = true;
-
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- if (isObject(options)) {
- leading = 'leading' in options ? !!options.leading : leading;
- trailing = 'trailing' in options ? !!options.trailing : trailing;
- }
- return debounce(func, wait, {
- 'leading': leading,
- 'maxWait': wait,
- 'trailing': trailing
- });
- }
-
- /**
- * Creates a function that accepts up to one argument, ignoring any
- * additional arguments.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Function
- * @param {Function} func The function to cap arguments for.
- * @returns {Function} Returns the new capped function.
- * @example
- *
- * _.map(['6', '8', '10'], _.unary(parseInt));
- * // => [6, 8, 10]
- */
- function unary(func) {
- return ary(func, 1);
- }
-
- /**
- * Creates a function that provides `value` to `wrapper` as its first
- * argument. Any additional arguments provided to the function are appended
- * to those provided to the `wrapper`. The wrapper is invoked with the `this`
- * binding of the created function.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {*} value The value to wrap.
- * @param {Function} [wrapper=identity] The wrapper function.
- * @returns {Function} Returns the new function.
- * @example
- *
- * var p = _.wrap(_.escape, function(func, text) {
- * return '' + func(text) + '
';
- * });
- *
- * p('fred, barney, & pebbles');
- * // => 'fred, barney, & pebbles
'
- */
- function wrap(value, wrapper) {
- return partial(castFunction(wrapper), value);
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Casts `value` as an array if it's not one.
- *
- * @static
- * @memberOf _
- * @since 4.4.0
- * @category Lang
- * @param {*} value The value to inspect.
- * @returns {Array} Returns the cast array.
- * @example
- *
- * _.castArray(1);
- * // => [1]
- *
- * _.castArray({ 'a': 1 });
- * // => [{ 'a': 1 }]
- *
- * _.castArray('abc');
- * // => ['abc']
- *
- * _.castArray(null);
- * // => [null]
- *
- * _.castArray(undefined);
- * // => [undefined]
- *
- * _.castArray();
- * // => []
- *
- * var array = [1, 2, 3];
- * console.log(_.castArray(array) === array);
- * // => true
- */
- function castArray() {
- if (!arguments.length) {
- return [];
- }
- var value = arguments[0];
- return isArray(value) ? value : [value];
- }
-
- /**
- * Creates a shallow clone of `value`.
- *
- * **Note:** This method is loosely based on the
- * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)
- * and supports cloning arrays, array buffers, booleans, date objects, maps,
- * numbers, `Object` objects, regexes, sets, strings, symbols, and typed
- * arrays. The own enumerable properties of `arguments` objects are cloned
- * as plain objects. An empty object is returned for uncloneable values such
- * as error objects, functions, DOM nodes, and WeakMaps.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to clone.
- * @returns {*} Returns the cloned value.
- * @see _.cloneDeep
- * @example
- *
- * var objects = [{ 'a': 1 }, { 'b': 2 }];
- *
- * var shallow = _.clone(objects);
- * console.log(shallow[0] === objects[0]);
- * // => true
- */
- function clone(value) {
- return baseClone(value, CLONE_SYMBOLS_FLAG);
- }
-
- /**
- * This method is like `_.clone` except that it accepts `customizer` which
- * is invoked to produce the cloned value. If `customizer` returns `undefined`,
- * cloning is handled by the method instead. The `customizer` is invoked with
- * up to four arguments; (value [, index|key, object, stack]).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to clone.
- * @param {Function} [customizer] The function to customize cloning.
- * @returns {*} Returns the cloned value.
- * @see _.cloneDeepWith
- * @example
- *
- * function customizer(value) {
- * if (_.isElement(value)) {
- * return value.cloneNode(false);
- * }
- * }
- *
- * var el = _.cloneWith(document.body, customizer);
- *
- * console.log(el === document.body);
- * // => false
- * console.log(el.nodeName);
- * // => 'BODY'
- * console.log(el.childNodes.length);
- * // => 0
- */
- function cloneWith(value, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);
- }
-
- /**
- * This method is like `_.clone` except that it recursively clones `value`.
- *
- * @static
- * @memberOf _
- * @since 1.0.0
- * @category Lang
- * @param {*} value The value to recursively clone.
- * @returns {*} Returns the deep cloned value.
- * @see _.clone
- * @example
- *
- * var objects = [{ 'a': 1 }, { 'b': 2 }];
- *
- * var deep = _.cloneDeep(objects);
- * console.log(deep[0] === objects[0]);
- * // => false
- */
- function cloneDeep(value) {
- return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
- }
-
- /**
- * This method is like `_.cloneWith` except that it recursively clones `value`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to recursively clone.
- * @param {Function} [customizer] The function to customize cloning.
- * @returns {*} Returns the deep cloned value.
- * @see _.cloneWith
- * @example
- *
- * function customizer(value) {
- * if (_.isElement(value)) {
- * return value.cloneNode(true);
- * }
- * }
- *
- * var el = _.cloneDeepWith(document.body, customizer);
- *
- * console.log(el === document.body);
- * // => false
- * console.log(el.nodeName);
- * // => 'BODY'
- * console.log(el.childNodes.length);
- * // => 20
- */
- function cloneDeepWith(value, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);
- }
-
- /**
- * Checks if `object` conforms to `source` by invoking the predicate
- * properties of `source` with the corresponding property values of `object`.
- *
- * **Note:** This method is equivalent to `_.conforms` when `source` is
- * partially applied.
- *
- * @static
- * @memberOf _
- * @since 4.14.0
- * @category Lang
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property predicates to conform to.
- * @returns {boolean} Returns `true` if `object` conforms, else `false`.
- * @example
- *
- * var object = { 'a': 1, 'b': 2 };
- *
- * _.conformsTo(object, { 'b': function(n) { return n > 1; } });
- * // => true
- *
- * _.conformsTo(object, { 'b': function(n) { return n > 2; } });
- * // => false
- */
- function conformsTo(object, source) {
- return source == null || baseConformsTo(object, source, keys(source));
- }
-
- /**
- * Performs a
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * comparison between two values to determine if they are equivalent.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'a': 1 };
- * var other = { 'a': 1 };
- *
- * _.eq(object, object);
- * // => true
- *
- * _.eq(object, other);
- * // => false
- *
- * _.eq('a', 'a');
- * // => true
- *
- * _.eq('a', Object('a'));
- * // => false
- *
- * _.eq(NaN, NaN);
- * // => true
- */
- function eq(value, other) {
- return value === other || (value !== value && other !== other);
- }
-
- /**
- * Checks if `value` is greater than `other`.
- *
- * @static
- * @memberOf _
- * @since 3.9.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is greater than `other`,
- * else `false`.
- * @see _.lt
- * @example
- *
- * _.gt(3, 1);
- * // => true
- *
- * _.gt(3, 3);
- * // => false
- *
- * _.gt(1, 3);
- * // => false
- */
- var gt = createRelationalOperation(baseGt);
-
- /**
- * Checks if `value` is greater than or equal to `other`.
- *
- * @static
- * @memberOf _
- * @since 3.9.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is greater than or equal to
- * `other`, else `false`.
- * @see _.lte
- * @example
- *
- * _.gte(3, 1);
- * // => true
- *
- * _.gte(3, 3);
- * // => true
- *
- * _.gte(1, 3);
- * // => false
- */
- var gte = createRelationalOperation(function(value, other) {
- return value >= other;
- });
-
- /**
- * Checks if `value` is likely an `arguments` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
- * else `false`.
- * @example
- *
- * _.isArguments(function() { return arguments; }());
- * // => true
- *
- * _.isArguments([1, 2, 3]);
- * // => false
- */
- var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
- return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
- !propertyIsEnumerable.call(value, 'callee');
- };
-
- /**
- * Checks if `value` is classified as an `Array` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array, else `false`.
- * @example
- *
- * _.isArray([1, 2, 3]);
- * // => true
- *
- * _.isArray(document.body.children);
- * // => false
- *
- * _.isArray('abc');
- * // => false
- *
- * _.isArray(_.noop);
- * // => false
- */
- var isArray = Array.isArray;
-
- /**
- * Checks if `value` is classified as an `ArrayBuffer` object.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.
- * @example
- *
- * _.isArrayBuffer(new ArrayBuffer(2));
- * // => true
- *
- * _.isArrayBuffer(new Array(2));
- * // => false
- */
- var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;
-
- /**
- * Checks if `value` is array-like. A value is considered array-like if it's
- * not a function and has a `value.length` that's an integer greater than or
- * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
- * @example
- *
- * _.isArrayLike([1, 2, 3]);
- * // => true
- *
- * _.isArrayLike(document.body.children);
- * // => true
- *
- * _.isArrayLike('abc');
- * // => true
- *
- * _.isArrayLike(_.noop);
- * // => false
- */
- function isArrayLike(value) {
- return value != null && isLength(value.length) && !isFunction(value);
- }
-
- /**
- * This method is like `_.isArrayLike` except that it also checks if `value`
- * is an object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array-like object,
- * else `false`.
- * @example
- *
- * _.isArrayLikeObject([1, 2, 3]);
- * // => true
- *
- * _.isArrayLikeObject(document.body.children);
- * // => true
- *
- * _.isArrayLikeObject('abc');
- * // => false
- *
- * _.isArrayLikeObject(_.noop);
- * // => false
- */
- function isArrayLikeObject(value) {
- return isObjectLike(value) && isArrayLike(value);
- }
-
- /**
- * Checks if `value` is classified as a boolean primitive or object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.
- * @example
- *
- * _.isBoolean(false);
- * // => true
- *
- * _.isBoolean(null);
- * // => false
- */
- function isBoolean(value) {
- return value === true || value === false ||
- (isObjectLike(value) && baseGetTag(value) == boolTag);
- }
-
- /**
- * Checks if `value` is a buffer.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
- * @example
- *
- * _.isBuffer(new Buffer(2));
- * // => true
- *
- * _.isBuffer(new Uint8Array(2));
- * // => false
- */
- var isBuffer = nativeIsBuffer || stubFalse;
-
- /**
- * Checks if `value` is classified as a `Date` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
- * @example
- *
- * _.isDate(new Date);
- * // => true
- *
- * _.isDate('Mon April 23 2012');
- * // => false
- */
- var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;
-
- /**
- * Checks if `value` is likely a DOM element.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.
- * @example
- *
- * _.isElement(document.body);
- * // => true
- *
- * _.isElement('');
- * // => false
- */
- function isElement(value) {
- return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);
- }
-
- /**
- * Checks if `value` is an empty object, collection, map, or set.
- *
- * Objects are considered empty if they have no own enumerable string keyed
- * properties.
- *
- * Array-like values such as `arguments` objects, arrays, buffers, strings, or
- * jQuery-like collections are considered empty if they have a `length` of `0`.
- * Similarly, maps and sets are considered empty if they have a `size` of `0`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is empty, else `false`.
- * @example
- *
- * _.isEmpty(null);
- * // => true
- *
- * _.isEmpty(true);
- * // => true
- *
- * _.isEmpty(1);
- * // => true
- *
- * _.isEmpty([1, 2, 3]);
- * // => false
- *
- * _.isEmpty({ 'a': 1 });
- * // => false
- */
- function isEmpty(value) {
- if (value == null) {
- return true;
- }
- if (isArrayLike(value) &&
- (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||
- isBuffer(value) || isTypedArray(value) || isArguments(value))) {
- return !value.length;
- }
- var tag = getTag(value);
- if (tag == mapTag || tag == setTag) {
- return !value.size;
- }
- if (isPrototype(value)) {
- return !baseKeys(value).length;
- }
- for (var key in value) {
- if (hasOwnProperty.call(value, key)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Performs a deep comparison between two values to determine if they are
- * equivalent.
- *
- * **Note:** This method supports comparing arrays, array buffers, booleans,
- * date objects, error objects, maps, numbers, `Object` objects, regexes,
- * sets, strings, symbols, and typed arrays. `Object` objects are compared
- * by their own, not inherited, enumerable properties. Functions and DOM
- * nodes are compared by strict equality, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'a': 1 };
- * var other = { 'a': 1 };
- *
- * _.isEqual(object, other);
- * // => true
- *
- * object === other;
- * // => false
- */
- function isEqual(value, other) {
- return baseIsEqual(value, other);
- }
-
- /**
- * This method is like `_.isEqual` except that it accepts `customizer` which
- * is invoked to compare values. If `customizer` returns `undefined`, comparisons
- * are handled by the method instead. The `customizer` is invoked with up to
- * six arguments: (objValue, othValue [, index|key, object, other, stack]).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @param {Function} [customizer] The function to customize comparisons.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * function isGreeting(value) {
- * return /^h(?:i|ello)$/.test(value);
- * }
- *
- * function customizer(objValue, othValue) {
- * if (isGreeting(objValue) && isGreeting(othValue)) {
- * return true;
- * }
- * }
- *
- * var array = ['hello', 'goodbye'];
- * var other = ['hi', 'goodbye'];
- *
- * _.isEqualWith(array, other, customizer);
- * // => true
- */
- function isEqualWith(value, other, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- var result = customizer ? customizer(value, other) : undefined;
- return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;
- }
-
- /**
- * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
- * `SyntaxError`, `TypeError`, or `URIError` object.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an error object, else `false`.
- * @example
- *
- * _.isError(new Error);
- * // => true
- *
- * _.isError(Error);
- * // => false
- */
- function isError(value) {
- if (!isObjectLike(value)) {
- return false;
- }
- var tag = baseGetTag(value);
- return tag == errorTag || tag == domExcTag ||
- (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));
- }
-
- /**
- * Checks if `value` is a finite primitive number.
- *
- * **Note:** This method is based on
- * [`Number.isFinite`](https://mdn.io/Number/isFinite).
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
- * @example
- *
- * _.isFinite(3);
- * // => true
- *
- * _.isFinite(Number.MIN_VALUE);
- * // => true
- *
- * _.isFinite(Infinity);
- * // => false
- *
- * _.isFinite('3');
- * // => false
- */
- function isFinite(value) {
- return typeof value == 'number' && nativeIsFinite(value);
- }
-
- /**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */
- function isFunction(value) {
- if (!isObject(value)) {
- return false;
- }
- // The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 9 which returns 'object' for typed arrays and other constructors.
- var tag = baseGetTag(value);
- return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
- }
-
- /**
- * Checks if `value` is an integer.
- *
- * **Note:** This method is based on
- * [`Number.isInteger`](https://mdn.io/Number/isInteger).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an integer, else `false`.
- * @example
- *
- * _.isInteger(3);
- * // => true
- *
- * _.isInteger(Number.MIN_VALUE);
- * // => false
- *
- * _.isInteger(Infinity);
- * // => false
- *
- * _.isInteger('3');
- * // => false
- */
- function isInteger(value) {
- return typeof value == 'number' && value == toInteger(value);
- }
-
- /**
- * Checks if `value` is a valid array-like length.
- *
- * **Note:** This method is loosely based on
- * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
- * @example
- *
- * _.isLength(3);
- * // => true
- *
- * _.isLength(Number.MIN_VALUE);
- * // => false
- *
- * _.isLength(Infinity);
- * // => false
- *
- * _.isLength('3');
- * // => false
- */
- function isLength(value) {
- return typeof value == 'number' &&
- value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
- }
-
- /**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */
- function isObject(value) {
- var type = typeof value;
- return value != null && (type == 'object' || type == 'function');
- }
-
- /**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
- function isObjectLike(value) {
- return value != null && typeof value == 'object';
- }
-
- /**
- * Checks if `value` is classified as a `Map` object.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a map, else `false`.
- * @example
- *
- * _.isMap(new Map);
- * // => true
- *
- * _.isMap(new WeakMap);
- * // => false
- */
- var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
-
- /**
- * Performs a partial deep comparison between `object` and `source` to
- * determine if `object` contains equivalent property values.
- *
- * **Note:** This method is equivalent to `_.matches` when `source` is
- * partially applied.
- *
- * Partial comparisons will match empty array and empty object `source`
- * values against any array or object value, respectively. See `_.isEqual`
- * for a list of supported value comparisons.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property values to match.
- * @returns {boolean} Returns `true` if `object` is a match, else `false`.
- * @example
- *
- * var object = { 'a': 1, 'b': 2 };
- *
- * _.isMatch(object, { 'b': 2 });
- * // => true
- *
- * _.isMatch(object, { 'b': 1 });
- * // => false
- */
- function isMatch(object, source) {
- return object === source || baseIsMatch(object, source, getMatchData(source));
- }
-
- /**
- * This method is like `_.isMatch` except that it accepts `customizer` which
- * is invoked to compare values. If `customizer` returns `undefined`, comparisons
- * are handled by the method instead. The `customizer` is invoked with five
- * arguments: (objValue, srcValue, index|key, object, source).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {Object} object The object to inspect.
- * @param {Object} source The object of property values to match.
- * @param {Function} [customizer] The function to customize comparisons.
- * @returns {boolean} Returns `true` if `object` is a match, else `false`.
- * @example
- *
- * function isGreeting(value) {
- * return /^h(?:i|ello)$/.test(value);
- * }
- *
- * function customizer(objValue, srcValue) {
- * if (isGreeting(objValue) && isGreeting(srcValue)) {
- * return true;
- * }
- * }
- *
- * var object = { 'greeting': 'hello' };
- * var source = { 'greeting': 'hi' };
- *
- * _.isMatchWith(object, source, customizer);
- * // => true
- */
- function isMatchWith(object, source, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- return baseIsMatch(object, source, getMatchData(source), customizer);
- }
-
- /**
- * Checks if `value` is `NaN`.
- *
- * **Note:** This method is based on
- * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as
- * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for
- * `undefined` and other non-number values.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
- * @example
- *
- * _.isNaN(NaN);
- * // => true
- *
- * _.isNaN(new Number(NaN));
- * // => true
- *
- * isNaN(undefined);
- * // => true
- *
- * _.isNaN(undefined);
- * // => false
- */
- function isNaN(value) {
- // An `NaN` primitive is the only value that is not equal to itself.
- // Perform the `toStringTag` check first to avoid errors with some
- // ActiveX objects in IE.
- return isNumber(value) && value != +value;
- }
-
- /**
- * Checks if `value` is a pristine native function.
- *
- * **Note:** This method can't reliably detect native functions in the presence
- * of the core-js package because core-js circumvents this kind of detection.
- * Despite multiple requests, the core-js maintainer has made it clear: any
- * attempt to fix the detection will be obstructed. As a result, we're left
- * with little choice but to throw an error. Unfortunately, this also affects
- * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),
- * which rely on core-js.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- * @example
- *
- * _.isNative(Array.prototype.push);
- * // => true
- *
- * _.isNative(_);
- * // => false
- */
- function isNative(value) {
- if (isMaskable(value)) {
- throw new Error(CORE_ERROR_TEXT);
- }
- return baseIsNative(value);
- }
-
- /**
- * Checks if `value` is `null`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `null`, else `false`.
- * @example
- *
- * _.isNull(null);
- * // => true
- *
- * _.isNull(void 0);
- * // => false
- */
- function isNull(value) {
- return value === null;
- }
-
- /**
- * Checks if `value` is `null` or `undefined`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is nullish, else `false`.
- * @example
- *
- * _.isNil(null);
- * // => true
- *
- * _.isNil(void 0);
- * // => true
- *
- * _.isNil(NaN);
- * // => false
- */
- function isNil(value) {
- return value == null;
- }
-
- /**
- * Checks if `value` is classified as a `Number` primitive or object.
- *
- * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are
- * classified as numbers, use the `_.isFinite` method.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a number, else `false`.
- * @example
- *
- * _.isNumber(3);
- * // => true
- *
- * _.isNumber(Number.MIN_VALUE);
- * // => true
- *
- * _.isNumber(Infinity);
- * // => true
- *
- * _.isNumber('3');
- * // => false
- */
- function isNumber(value) {
- return typeof value == 'number' ||
- (isObjectLike(value) && baseGetTag(value) == numberTag);
- }
-
- /**
- * Checks if `value` is a plain object, that is, an object created by the
- * `Object` constructor or one with a `[[Prototype]]` of `null`.
- *
- * @static
- * @memberOf _
- * @since 0.8.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * }
- *
- * _.isPlainObject(new Foo);
- * // => false
- *
- * _.isPlainObject([1, 2, 3]);
- * // => false
- *
- * _.isPlainObject({ 'x': 0, 'y': 0 });
- * // => true
- *
- * _.isPlainObject(Object.create(null));
- * // => true
- */
- function isPlainObject(value) {
- if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
- return false;
- }
- var proto = getPrototype(value);
- if (proto === null) {
- return true;
- }
- var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
- return typeof Ctor == 'function' && Ctor instanceof Ctor &&
- funcToString.call(Ctor) == objectCtorString;
- }
-
- /**
- * Checks if `value` is classified as a `RegExp` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
- * @example
- *
- * _.isRegExp(/abc/);
- * // => true
- *
- * _.isRegExp('/abc/');
- * // => false
- */
- var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;
-
- /**
- * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754
- * double precision number which isn't the result of a rounded unsafe integer.
- *
- * **Note:** This method is based on
- * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.
- * @example
- *
- * _.isSafeInteger(3);
- * // => true
- *
- * _.isSafeInteger(Number.MIN_VALUE);
- * // => false
- *
- * _.isSafeInteger(Infinity);
- * // => false
- *
- * _.isSafeInteger('3');
- * // => false
- */
- function isSafeInteger(value) {
- return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;
- }
-
- /**
- * Checks if `value` is classified as a `Set` object.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a set, else `false`.
- * @example
- *
- * _.isSet(new Set);
- * // => true
- *
- * _.isSet(new WeakSet);
- * // => false
- */
- var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
-
- /**
- * Checks if `value` is classified as a `String` primitive or object.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a string, else `false`.
- * @example
- *
- * _.isString('abc');
- * // => true
- *
- * _.isString(1);
- * // => false
- */
- function isString(value) {
- return typeof value == 'string' ||
- (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);
- }
-
- /**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
- function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && baseGetTag(value) == symbolTag);
- }
-
- /**
- * Checks if `value` is classified as a typed array.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
- * @example
- *
- * _.isTypedArray(new Uint8Array);
- * // => true
- *
- * _.isTypedArray([]);
- * // => false
- */
- var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
-
- /**
- * Checks if `value` is `undefined`.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
- * @example
- *
- * _.isUndefined(void 0);
- * // => true
- *
- * _.isUndefined(null);
- * // => false
- */
- function isUndefined(value) {
- return value === undefined;
- }
-
- /**
- * Checks if `value` is classified as a `WeakMap` object.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.
- * @example
- *
- * _.isWeakMap(new WeakMap);
- * // => true
- *
- * _.isWeakMap(new Map);
- * // => false
- */
- function isWeakMap(value) {
- return isObjectLike(value) && getTag(value) == weakMapTag;
- }
-
- /**
- * Checks if `value` is classified as a `WeakSet` object.
- *
- * @static
- * @memberOf _
- * @since 4.3.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.
- * @example
- *
- * _.isWeakSet(new WeakSet);
- * // => true
- *
- * _.isWeakSet(new Set);
- * // => false
- */
- function isWeakSet(value) {
- return isObjectLike(value) && baseGetTag(value) == weakSetTag;
- }
-
- /**
- * Checks if `value` is less than `other`.
- *
- * @static
- * @memberOf _
- * @since 3.9.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is less than `other`,
- * else `false`.
- * @see _.gt
- * @example
- *
- * _.lt(1, 3);
- * // => true
- *
- * _.lt(3, 3);
- * // => false
- *
- * _.lt(3, 1);
- * // => false
- */
- var lt = createRelationalOperation(baseLt);
-
- /**
- * Checks if `value` is less than or equal to `other`.
- *
- * @static
- * @memberOf _
- * @since 3.9.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if `value` is less than or equal to
- * `other`, else `false`.
- * @see _.gte
- * @example
- *
- * _.lte(1, 3);
- * // => true
- *
- * _.lte(3, 3);
- * // => true
- *
- * _.lte(3, 1);
- * // => false
- */
- var lte = createRelationalOperation(function(value, other) {
- return value <= other;
- });
-
- /**
- * Converts `value` to an array.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {Array} Returns the converted array.
- * @example
- *
- * _.toArray({ 'a': 1, 'b': 2 });
- * // => [1, 2]
- *
- * _.toArray('abc');
- * // => ['a', 'b', 'c']
- *
- * _.toArray(1);
- * // => []
- *
- * _.toArray(null);
- * // => []
- */
- function toArray(value) {
- if (!value) {
- return [];
- }
- if (isArrayLike(value)) {
- return isString(value) ? stringToArray(value) : copyArray(value);
- }
- if (symIterator && value[symIterator]) {
- return iteratorToArray(value[symIterator]());
- }
- var tag = getTag(value),
- func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);
-
- return func(value);
- }
-
- /**
- * Converts `value` to a finite number.
- *
- * @static
- * @memberOf _
- * @since 4.12.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted number.
- * @example
- *
- * _.toFinite(3.2);
- * // => 3.2
- *
- * _.toFinite(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toFinite(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toFinite('3.2');
- * // => 3.2
- */
- function toFinite(value) {
- if (!value) {
- return value === 0 ? value : 0;
- }
- value = toNumber(value);
- if (value === INFINITY || value === -INFINITY) {
- var sign = (value < 0 ? -1 : 1);
- return sign * MAX_INTEGER;
- }
- return value === value ? value : 0;
- }
-
- /**
- * Converts `value` to an integer.
- *
- * **Note:** This method is loosely based on
- * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.toInteger(3.2);
- * // => 3
- *
- * _.toInteger(Number.MIN_VALUE);
- * // => 0
- *
- * _.toInteger(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toInteger('3.2');
- * // => 3
- */
- function toInteger(value) {
- var result = toFinite(value),
- remainder = result % 1;
-
- return result === result ? (remainder ? result - remainder : result) : 0;
- }
-
- /**
- * Converts `value` to an integer suitable for use as the length of an
- * array-like object.
- *
- * **Note:** This method is based on
- * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.toLength(3.2);
- * // => 3
- *
- * _.toLength(Number.MIN_VALUE);
- * // => 0
- *
- * _.toLength(Infinity);
- * // => 4294967295
- *
- * _.toLength('3.2');
- * // => 3
- */
- function toLength(value) {
- return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;
- }
-
- /**
- * Converts `value` to a number.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {number} Returns the number.
- * @example
- *
- * _.toNumber(3.2);
- * // => 3.2
- *
- * _.toNumber(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toNumber(Infinity);
- * // => Infinity
- *
- * _.toNumber('3.2');
- * // => 3.2
- */
- function toNumber(value) {
- if (typeof value == 'number') {
- return value;
- }
- if (isSymbol(value)) {
- return NAN;
- }
- if (isObject(value)) {
- var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
- value = isObject(other) ? (other + '') : other;
- }
- if (typeof value != 'string') {
- return value === 0 ? value : +value;
- }
- value = value.replace(reTrim, '');
- var isBinary = reIsBinary.test(value);
- return (isBinary || reIsOctal.test(value))
- ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
- : (reIsBadHex.test(value) ? NAN : +value);
- }
-
- /**
- * Converts `value` to a plain object flattening inherited enumerable string
- * keyed properties of `value` to own properties of the plain object.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {Object} Returns the converted plain object.
- * @example
- *
- * function Foo() {
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.assign({ 'a': 1 }, new Foo);
- * // => { 'a': 1, 'b': 2 }
- *
- * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
- * // => { 'a': 1, 'b': 2, 'c': 3 }
- */
- function toPlainObject(value) {
- return copyObject(value, keysIn(value));
- }
-
- /**
- * Converts `value` to a safe integer. A safe integer can be compared and
- * represented correctly.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.toSafeInteger(3.2);
- * // => 3
- *
- * _.toSafeInteger(Number.MIN_VALUE);
- * // => 0
- *
- * _.toSafeInteger(Infinity);
- * // => 9007199254740991
- *
- * _.toSafeInteger('3.2');
- * // => 3
- */
- function toSafeInteger(value) {
- return value
- ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)
- : (value === 0 ? value : 0);
- }
-
- /**
- * Converts `value` to a string. An empty string is returned for `null`
- * and `undefined` values. The sign of `-0` is preserved.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {string} Returns the converted string.
- * @example
- *
- * _.toString(null);
- * // => ''
- *
- * _.toString(-0);
- * // => '-0'
- *
- * _.toString([1, 2, 3]);
- * // => '1,2,3'
- */
- function toString(value) {
- return value == null ? '' : baseToString(value);
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Assigns own enumerable string keyed properties of source objects to the
- * destination object. Source objects are applied from left to right.
- * Subsequent sources overwrite property assignments of previous sources.
- *
- * **Note:** This method mutates `object` and is loosely based on
- * [`Object.assign`](https://mdn.io/Object/assign).
- *
- * @static
- * @memberOf _
- * @since 0.10.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @see _.assignIn
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * }
- *
- * function Bar() {
- * this.c = 3;
- * }
- *
- * Foo.prototype.b = 2;
- * Bar.prototype.d = 4;
- *
- * _.assign({ 'a': 0 }, new Foo, new Bar);
- * // => { 'a': 1, 'c': 3 }
- */
- var assign = createAssigner(function(object, source) {
- if (isPrototype(source) || isArrayLike(source)) {
- copyObject(source, keys(source), object);
- return;
- }
- for (var key in source) {
- if (hasOwnProperty.call(source, key)) {
- assignValue(object, key, source[key]);
- }
- }
- });
-
- /**
- * This method is like `_.assign` except that it iterates over own and
- * inherited source properties.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @alias extend
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @see _.assign
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * }
- *
- * function Bar() {
- * this.c = 3;
- * }
- *
- * Foo.prototype.b = 2;
- * Bar.prototype.d = 4;
- *
- * _.assignIn({ 'a': 0 }, new Foo, new Bar);
- * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
- */
- var assignIn = createAssigner(function(object, source) {
- copyObject(source, keysIn(source), object);
- });
-
- /**
- * This method is like `_.assignIn` except that it accepts `customizer`
- * which is invoked to produce the assigned values. If `customizer` returns
- * `undefined`, assignment is handled by the method instead. The `customizer`
- * is invoked with five arguments: (objValue, srcValue, key, object, source).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @alias extendWith
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} sources The source objects.
- * @param {Function} [customizer] The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @see _.assignWith
- * @example
- *
- * function customizer(objValue, srcValue) {
- * return _.isUndefined(objValue) ? srcValue : objValue;
- * }
- *
- * var defaults = _.partialRight(_.assignInWith, customizer);
- *
- * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
- * // => { 'a': 1, 'b': 2 }
- */
- var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
- copyObject(source, keysIn(source), object, customizer);
- });
-
- /**
- * This method is like `_.assign` except that it accepts `customizer`
- * which is invoked to produce the assigned values. If `customizer` returns
- * `undefined`, assignment is handled by the method instead. The `customizer`
- * is invoked with five arguments: (objValue, srcValue, key, object, source).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} sources The source objects.
- * @param {Function} [customizer] The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @see _.assignInWith
- * @example
- *
- * function customizer(objValue, srcValue) {
- * return _.isUndefined(objValue) ? srcValue : objValue;
- * }
- *
- * var defaults = _.partialRight(_.assignWith, customizer);
- *
- * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
- * // => { 'a': 1, 'b': 2 }
- */
- var assignWith = createAssigner(function(object, source, srcIndex, customizer) {
- copyObject(source, keys(source), object, customizer);
- });
-
- /**
- * Creates an array of values corresponding to `paths` of `object`.
- *
- * @static
- * @memberOf _
- * @since 1.0.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {...(string|string[])} [paths] The property paths to pick.
- * @returns {Array} Returns the picked values.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
- *
- * _.at(object, ['a[0].b.c', 'a[1]']);
- * // => [3, 4]
- */
- var at = flatRest(baseAt);
-
- /**
- * Creates an object that inherits from the `prototype` object. If a
- * `properties` object is given, its own enumerable string keyed properties
- * are assigned to the created object.
- *
- * @static
- * @memberOf _
- * @since 2.3.0
- * @category Object
- * @param {Object} prototype The object to inherit from.
- * @param {Object} [properties] The properties to assign to the object.
- * @returns {Object} Returns the new object.
- * @example
- *
- * function Shape() {
- * this.x = 0;
- * this.y = 0;
- * }
- *
- * function Circle() {
- * Shape.call(this);
- * }
- *
- * Circle.prototype = _.create(Shape.prototype, {
- * 'constructor': Circle
- * });
- *
- * var circle = new Circle;
- * circle instanceof Circle;
- * // => true
- *
- * circle instanceof Shape;
- * // => true
- */
- function create(prototype, properties) {
- var result = baseCreate(prototype);
- return properties == null ? result : baseAssign(result, properties);
- }
-
- /**
- * Assigns own and inherited enumerable string keyed properties of source
- * objects to the destination object for all destination properties that
- * resolve to `undefined`. Source objects are applied from left to right.
- * Once a property is set, additional values of the same property are ignored.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @see _.defaultsDeep
- * @example
- *
- * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
- * // => { 'a': 1, 'b': 2 }
- */
- var defaults = baseRest(function(object, sources) {
- object = Object(object);
-
- var index = -1;
- var length = sources.length;
- var guard = length > 2 ? sources[2] : undefined;
-
- if (guard && isIterateeCall(sources[0], sources[1], guard)) {
- length = 1;
- }
-
- while (++index < length) {
- var source = sources[index];
- var props = keysIn(source);
- var propsIndex = -1;
- var propsLength = props.length;
-
- while (++propsIndex < propsLength) {
- var key = props[propsIndex];
- var value = object[key];
-
- if (value === undefined ||
- (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
- object[key] = source[key];
- }
- }
- }
-
- return object;
- });
-
- /**
- * This method is like `_.defaults` except that it recursively assigns
- * default properties.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 3.10.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @see _.defaults
- * @example
- *
- * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });
- * // => { 'a': { 'b': 2, 'c': 3 } }
- */
- var defaultsDeep = baseRest(function(args) {
- args.push(undefined, customDefaultsMerge);
- return apply(mergeWith, undefined, args);
- });
-
- /**
- * This method is like `_.find` except that it returns the key of the first
- * element `predicate` returns truthy for instead of the element itself.
- *
- * @static
- * @memberOf _
- * @since 1.1.0
- * @category Object
- * @param {Object} object The object to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {string|undefined} Returns the key of the matched element,
- * else `undefined`.
- * @example
- *
- * var users = {
- * 'barney': { 'age': 36, 'active': true },
- * 'fred': { 'age': 40, 'active': false },
- * 'pebbles': { 'age': 1, 'active': true }
- * };
- *
- * _.findKey(users, function(o) { return o.age < 40; });
- * // => 'barney' (iteration order is not guaranteed)
- *
- * // The `_.matches` iteratee shorthand.
- * _.findKey(users, { 'age': 1, 'active': true });
- * // => 'pebbles'
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.findKey(users, ['active', false]);
- * // => 'fred'
- *
- * // The `_.property` iteratee shorthand.
- * _.findKey(users, 'active');
- * // => 'barney'
- */
- function findKey(object, predicate) {
- return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);
- }
-
- /**
- * This method is like `_.findKey` except that it iterates over elements of
- * a collection in the opposite order.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Object
- * @param {Object} object The object to inspect.
- * @param {Function} [predicate=_.identity] The function invoked per iteration.
- * @returns {string|undefined} Returns the key of the matched element,
- * else `undefined`.
- * @example
- *
- * var users = {
- * 'barney': { 'age': 36, 'active': true },
- * 'fred': { 'age': 40, 'active': false },
- * 'pebbles': { 'age': 1, 'active': true }
- * };
- *
- * _.findLastKey(users, function(o) { return o.age < 40; });
- * // => returns 'pebbles' assuming `_.findKey` returns 'barney'
- *
- * // The `_.matches` iteratee shorthand.
- * _.findLastKey(users, { 'age': 36, 'active': true });
- * // => 'barney'
- *
- * // The `_.matchesProperty` iteratee shorthand.
- * _.findLastKey(users, ['active', false]);
- * // => 'fred'
- *
- * // The `_.property` iteratee shorthand.
- * _.findLastKey(users, 'active');
- * // => 'pebbles'
- */
- function findLastKey(object, predicate) {
- return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);
- }
-
- /**
- * Iterates over own and inherited enumerable string keyed properties of an
- * object and invokes `iteratee` for each property. The iteratee is invoked
- * with three arguments: (value, key, object). Iteratee functions may exit
- * iteration early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @since 0.3.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns `object`.
- * @see _.forInRight
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.forIn(new Foo, function(value, key) {
- * console.log(key);
- * });
- * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).
- */
- function forIn(object, iteratee) {
- return object == null
- ? object
- : baseFor(object, getIteratee(iteratee, 3), keysIn);
- }
-
- /**
- * This method is like `_.forIn` except that it iterates over properties of
- * `object` in the opposite order.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns `object`.
- * @see _.forIn
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.forInRight(new Foo, function(value, key) {
- * console.log(key);
- * });
- * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.
- */
- function forInRight(object, iteratee) {
- return object == null
- ? object
- : baseForRight(object, getIteratee(iteratee, 3), keysIn);
- }
-
- /**
- * Iterates over own enumerable string keyed properties of an object and
- * invokes `iteratee` for each property. The iteratee is invoked with three
- * arguments: (value, key, object). Iteratee functions may exit iteration
- * early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @since 0.3.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns `object`.
- * @see _.forOwnRight
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.forOwn(new Foo, function(value, key) {
- * console.log(key);
- * });
- * // => Logs 'a' then 'b' (iteration order is not guaranteed).
- */
- function forOwn(object, iteratee) {
- return object && baseForOwn(object, getIteratee(iteratee, 3));
- }
-
- /**
- * This method is like `_.forOwn` except that it iterates over properties of
- * `object` in the opposite order.
- *
- * @static
- * @memberOf _
- * @since 2.0.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns `object`.
- * @see _.forOwn
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.forOwnRight(new Foo, function(value, key) {
- * console.log(key);
- * });
- * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.
- */
- function forOwnRight(object, iteratee) {
- return object && baseForOwnRight(object, getIteratee(iteratee, 3));
- }
-
- /**
- * Creates an array of function property names from own enumerable properties
- * of `object`.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns the function names.
- * @see _.functionsIn
- * @example
- *
- * function Foo() {
- * this.a = _.constant('a');
- * this.b = _.constant('b');
- * }
- *
- * Foo.prototype.c = _.constant('c');
- *
- * _.functions(new Foo);
- * // => ['a', 'b']
- */
- function functions(object) {
- return object == null ? [] : baseFunctions(object, keys(object));
- }
-
- /**
- * Creates an array of function property names from own and inherited
- * enumerable properties of `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to inspect.
- * @returns {Array} Returns the function names.
- * @see _.functions
- * @example
- *
- * function Foo() {
- * this.a = _.constant('a');
- * this.b = _.constant('b');
- * }
- *
- * Foo.prototype.c = _.constant('c');
- *
- * _.functionsIn(new Foo);
- * // => ['a', 'b', 'c']
- */
- function functionsIn(object) {
- return object == null ? [] : baseFunctions(object, keysIn(object));
- }
-
- /**
- * Gets the value at `path` of `object`. If the resolved value is
- * `undefined`, the `defaultValue` is returned in its place.
- *
- * @static
- * @memberOf _
- * @since 3.7.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @param {*} [defaultValue] The value returned for `undefined` resolved values.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.get(object, 'a[0].b.c');
- * // => 3
- *
- * _.get(object, ['a', '0', 'b', 'c']);
- * // => 3
- *
- * _.get(object, 'a.b.c', 'default');
- * // => 'default'
- */
- function get(object, path, defaultValue) {
- var result = object == null ? undefined : baseGet(object, path);
- return result === undefined ? defaultValue : result;
- }
-
- /**
- * Checks if `path` is a direct property of `object`.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path to check.
- * @returns {boolean} Returns `true` if `path` exists, else `false`.
- * @example
- *
- * var object = { 'a': { 'b': 2 } };
- * var other = _.create({ 'a': _.create({ 'b': 2 }) });
- *
- * _.has(object, 'a');
- * // => true
- *
- * _.has(object, 'a.b');
- * // => true
- *
- * _.has(object, ['a', 'b']);
- * // => true
- *
- * _.has(other, 'a');
- * // => false
- */
- function has(object, path) {
- return object != null && hasPath(object, path, baseHas);
- }
-
- /**
- * Checks if `path` is a direct or inherited property of `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path to check.
- * @returns {boolean} Returns `true` if `path` exists, else `false`.
- * @example
- *
- * var object = _.create({ 'a': _.create({ 'b': 2 }) });
- *
- * _.hasIn(object, 'a');
- * // => true
- *
- * _.hasIn(object, 'a.b');
- * // => true
- *
- * _.hasIn(object, ['a', 'b']);
- * // => true
- *
- * _.hasIn(object, 'b');
- * // => false
- */
- function hasIn(object, path) {
- return object != null && hasPath(object, path, baseHasIn);
- }
-
- /**
- * Creates an object composed of the inverted keys and values of `object`.
- * If `object` contains duplicate values, subsequent values overwrite
- * property assignments of previous values.
- *
- * @static
- * @memberOf _
- * @since 0.7.0
- * @category Object
- * @param {Object} object The object to invert.
- * @returns {Object} Returns the new inverted object.
- * @example
- *
- * var object = { 'a': 1, 'b': 2, 'c': 1 };
- *
- * _.invert(object);
- * // => { '1': 'c', '2': 'b' }
- */
- var invert = createInverter(function(result, value, key) {
- if (value != null &&
- typeof value.toString != 'function') {
- value = nativeObjectToString.call(value);
- }
-
- result[value] = key;
- }, constant(identity));
-
- /**
- * This method is like `_.invert` except that the inverted object is generated
- * from the results of running each element of `object` thru `iteratee`. The
- * corresponding inverted value of each inverted key is an array of keys
- * responsible for generating the inverted value. The iteratee is invoked
- * with one argument: (value).
- *
- * @static
- * @memberOf _
- * @since 4.1.0
- * @category Object
- * @param {Object} object The object to invert.
- * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
- * @returns {Object} Returns the new inverted object.
- * @example
- *
- * var object = { 'a': 1, 'b': 2, 'c': 1 };
- *
- * _.invertBy(object);
- * // => { '1': ['a', 'c'], '2': ['b'] }
- *
- * _.invertBy(object, function(value) {
- * return 'group' + value;
- * });
- * // => { 'group1': ['a', 'c'], 'group2': ['b'] }
- */
- var invertBy = createInverter(function(result, value, key) {
- if (value != null &&
- typeof value.toString != 'function') {
- value = nativeObjectToString.call(value);
- }
-
- if (hasOwnProperty.call(result, value)) {
- result[value].push(key);
- } else {
- result[value] = [key];
- }
- }, getIteratee);
-
- /**
- * Invokes the method at `path` of `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the method to invoke.
- * @param {...*} [args] The arguments to invoke the method with.
- * @returns {*} Returns the result of the invoked method.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };
- *
- * _.invoke(object, 'a[0].b.c.slice', 1, 3);
- * // => [2, 3]
- */
- var invoke = baseRest(baseInvoke);
-
- /**
- * Creates an array of the own enumerable property names of `object`.
- *
- * **Note:** Non-object values are coerced to objects. See the
- * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
- * for more details.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.keys(new Foo);
- * // => ['a', 'b'] (iteration order is not guaranteed)
- *
- * _.keys('hi');
- * // => ['0', '1']
- */
- function keys(object) {
- return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
- }
-
- /**
- * Creates an array of the own and inherited enumerable property names of `object`.
- *
- * **Note:** Non-object values are coerced to objects.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.keysIn(new Foo);
- * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
- */
- function keysIn(object) {
- return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
- }
-
- /**
- * The opposite of `_.mapValues`; this method creates an object with the
- * same values as `object` and keys generated by running each own enumerable
- * string keyed property of `object` thru `iteratee`. The iteratee is invoked
- * with three arguments: (value, key, object).
- *
- * @static
- * @memberOf _
- * @since 3.8.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns the new mapped object.
- * @see _.mapValues
- * @example
- *
- * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {
- * return key + value;
- * });
- * // => { 'a1': 1, 'b2': 2 }
- */
- function mapKeys(object, iteratee) {
- var result = {};
- iteratee = getIteratee(iteratee, 3);
-
- baseForOwn(object, function(value, key, object) {
- baseAssignValue(result, iteratee(value, key, object), value);
- });
- return result;
- }
-
- /**
- * Creates an object with the same keys as `object` and values generated
- * by running each own enumerable string keyed property of `object` thru
- * `iteratee`. The iteratee is invoked with three arguments:
- * (value, key, object).
- *
- * @static
- * @memberOf _
- * @since 2.4.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @returns {Object} Returns the new mapped object.
- * @see _.mapKeys
- * @example
- *
- * var users = {
- * 'fred': { 'user': 'fred', 'age': 40 },
- * 'pebbles': { 'user': 'pebbles', 'age': 1 }
- * };
- *
- * _.mapValues(users, function(o) { return o.age; });
- * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
- *
- * // The `_.property` iteratee shorthand.
- * _.mapValues(users, 'age');
- * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
- */
- function mapValues(object, iteratee) {
- var result = {};
- iteratee = getIteratee(iteratee, 3);
-
- baseForOwn(object, function(value, key, object) {
- baseAssignValue(result, key, iteratee(value, key, object));
- });
- return result;
- }
-
- /**
- * This method is like `_.assign` except that it recursively merges own and
- * inherited enumerable string keyed properties of source objects into the
- * destination object. Source properties that resolve to `undefined` are
- * skipped if a destination value exists. Array and plain object properties
- * are merged recursively. Other objects and value types are overridden by
- * assignment. Source objects are applied from left to right. Subsequent
- * sources overwrite property assignments of previous sources.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 0.5.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = {
- * 'a': [{ 'b': 2 }, { 'd': 4 }]
- * };
- *
- * var other = {
- * 'a': [{ 'c': 3 }, { 'e': 5 }]
- * };
- *
- * _.merge(object, other);
- * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
- */
- var merge = createAssigner(function(object, source, srcIndex) {
- baseMerge(object, source, srcIndex);
- });
-
- /**
- * This method is like `_.merge` except that it accepts `customizer` which
- * is invoked to produce the merged values of the destination and source
- * properties. If `customizer` returns `undefined`, merging is handled by the
- * method instead. The `customizer` is invoked with six arguments:
- * (objValue, srcValue, key, object, source, stack).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} sources The source objects.
- * @param {Function} customizer The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @example
- *
- * function customizer(objValue, srcValue) {
- * if (_.isArray(objValue)) {
- * return objValue.concat(srcValue);
- * }
- * }
- *
- * var object = { 'a': [1], 'b': [2] };
- * var other = { 'a': [3], 'b': [4] };
- *
- * _.mergeWith(object, other, customizer);
- * // => { 'a': [1, 3], 'b': [2, 4] }
- */
- var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {
- baseMerge(object, source, srcIndex, customizer);
- });
-
- /**
- * The opposite of `_.pick`; this method creates an object composed of the
- * own and inherited enumerable property paths of `object` that are not omitted.
- *
- * **Note:** This method is considerably slower than `_.pick`.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The source object.
- * @param {...(string|string[])} [paths] The property paths to omit.
- * @returns {Object} Returns the new object.
- * @example
- *
- * var object = { 'a': 1, 'b': '2', 'c': 3 };
- *
- * _.omit(object, ['a', 'c']);
- * // => { 'b': '2' }
- */
- var omit = flatRest(function(object, paths) {
- var result = {};
- if (object == null) {
- return result;
- }
- var isDeep = false;
- paths = arrayMap(paths, function(path) {
- path = castPath(path, object);
- isDeep || (isDeep = path.length > 1);
- return path;
- });
- copyObject(object, getAllKeysIn(object), result);
- if (isDeep) {
- result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);
- }
- var length = paths.length;
- while (length--) {
- baseUnset(result, paths[length]);
- }
- return result;
- });
-
- /**
- * The opposite of `_.pickBy`; this method creates an object composed of
- * the own and inherited enumerable string keyed properties of `object` that
- * `predicate` doesn't return truthy for. The predicate is invoked with two
- * arguments: (value, key).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The source object.
- * @param {Function} [predicate=_.identity] The function invoked per property.
- * @returns {Object} Returns the new object.
- * @example
- *
- * var object = { 'a': 1, 'b': '2', 'c': 3 };
- *
- * _.omitBy(object, _.isNumber);
- * // => { 'b': '2' }
- */
- function omitBy(object, predicate) {
- return pickBy(object, negate(getIteratee(predicate)));
- }
-
- /**
- * Creates an object composed of the picked `object` properties.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The source object.
- * @param {...(string|string[])} [paths] The property paths to pick.
- * @returns {Object} Returns the new object.
- * @example
- *
- * var object = { 'a': 1, 'b': '2', 'c': 3 };
- *
- * _.pick(object, ['a', 'c']);
- * // => { 'a': 1, 'c': 3 }
- */
- var pick = flatRest(function(object, paths) {
- return object == null ? {} : basePick(object, paths);
- });
-
- /**
- * Creates an object composed of the `object` properties `predicate` returns
- * truthy for. The predicate is invoked with two arguments: (value, key).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The source object.
- * @param {Function} [predicate=_.identity] The function invoked per property.
- * @returns {Object} Returns the new object.
- * @example
- *
- * var object = { 'a': 1, 'b': '2', 'c': 3 };
- *
- * _.pickBy(object, _.isNumber);
- * // => { 'a': 1, 'c': 3 }
- */
- function pickBy(object, predicate) {
- if (object == null) {
- return {};
- }
- var props = arrayMap(getAllKeysIn(object), function(prop) {
- return [prop];
- });
- predicate = getIteratee(predicate);
- return basePickBy(object, props, function(value, path) {
- return predicate(value, path[0]);
- });
- }
-
- /**
- * This method is like `_.get` except that if the resolved value is a
- * function it's invoked with the `this` binding of its parent object and
- * its result is returned.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to resolve.
- * @param {*} [defaultValue] The value returned for `undefined` resolved values.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };
- *
- * _.result(object, 'a[0].b.c1');
- * // => 3
- *
- * _.result(object, 'a[0].b.c2');
- * // => 4
- *
- * _.result(object, 'a[0].b.c3', 'default');
- * // => 'default'
- *
- * _.result(object, 'a[0].b.c3', _.constant('default'));
- * // => 'default'
- */
- function result(object, path, defaultValue) {
- path = castPath(path, object);
-
- var index = -1,
- length = path.length;
-
- // Ensure the loop is entered when path is empty.
- if (!length) {
- length = 1;
- object = undefined;
- }
- while (++index < length) {
- var value = object == null ? undefined : object[toKey(path[index])];
- if (value === undefined) {
- index = length;
- value = defaultValue;
- }
- object = isFunction(value) ? value.call(object) : value;
- }
- return object;
- }
-
- /**
- * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,
- * it's created. Arrays are created for missing index properties while objects
- * are created for all other missing properties. Use `_.setWith` to customize
- * `path` creation.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 3.7.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.set(object, 'a[0].b.c', 4);
- * console.log(object.a[0].b.c);
- * // => 4
- *
- * _.set(object, ['x', '0', 'y', 'z'], 5);
- * console.log(object.x[0].y.z);
- * // => 5
- */
- function set(object, path, value) {
- return object == null ? object : baseSet(object, path, value);
- }
-
- /**
- * This method is like `_.set` except that it accepts `customizer` which is
- * invoked to produce the objects of `path`. If `customizer` returns `undefined`
- * path creation is handled by the method instead. The `customizer` is invoked
- * with three arguments: (nsValue, key, nsObject).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {*} value The value to set.
- * @param {Function} [customizer] The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = {};
- *
- * _.setWith(object, '[0][1]', 'a', Object);
- * // => { '0': { '1': 'a' } }
- */
- function setWith(object, path, value, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- return object == null ? object : baseSet(object, path, value, customizer);
- }
-
- /**
- * Creates an array of own enumerable string keyed-value pairs for `object`
- * which can be consumed by `_.fromPairs`. If `object` is a map or set, its
- * entries are returned.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @alias entries
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the key-value pairs.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.toPairs(new Foo);
- * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)
- */
- var toPairs = createToPairs(keys);
-
- /**
- * Creates an array of own and inherited enumerable string keyed-value pairs
- * for `object` which can be consumed by `_.fromPairs`. If `object` is a map
- * or set, its entries are returned.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @alias entriesIn
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the key-value pairs.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.toPairsIn(new Foo);
- * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)
- */
- var toPairsIn = createToPairs(keysIn);
-
- /**
- * An alternative to `_.reduce`; this method transforms `object` to a new
- * `accumulator` object which is the result of running each of its own
- * enumerable string keyed properties thru `iteratee`, with each invocation
- * potentially mutating the `accumulator` object. If `accumulator` is not
- * provided, a new object with the same `[[Prototype]]` will be used. The
- * iteratee is invoked with four arguments: (accumulator, value, key, object).
- * Iteratee functions may exit iteration early by explicitly returning `false`.
- *
- * @static
- * @memberOf _
- * @since 1.3.0
- * @category Object
- * @param {Object} object The object to iterate over.
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {*} [accumulator] The custom accumulator value.
- * @returns {*} Returns the accumulated value.
- * @example
- *
- * _.transform([2, 3, 4], function(result, n) {
- * result.push(n *= n);
- * return n % 2 == 0;
- * }, []);
- * // => [4, 9]
- *
- * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
- * (result[value] || (result[value] = [])).push(key);
- * }, {});
- * // => { '1': ['a', 'c'], '2': ['b'] }
- */
- function transform(object, iteratee, accumulator) {
- var isArr = isArray(object),
- isArrLike = isArr || isBuffer(object) || isTypedArray(object);
-
- iteratee = getIteratee(iteratee, 4);
- if (accumulator == null) {
- var Ctor = object && object.constructor;
- if (isArrLike) {
- accumulator = isArr ? new Ctor : [];
- }
- else if (isObject(object)) {
- accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};
- }
- else {
- accumulator = {};
- }
- }
- (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {
- return iteratee(accumulator, value, index, object);
- });
- return accumulator;
- }
-
- /**
- * Removes the property at `path` of `object`.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to unset.
- * @returns {boolean} Returns `true` if the property is deleted, else `false`.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 7 } }] };
- * _.unset(object, 'a[0].b.c');
- * // => true
- *
- * console.log(object);
- * // => { 'a': [{ 'b': {} }] };
- *
- * _.unset(object, ['a', '0', 'b', 'c']);
- * // => true
- *
- * console.log(object);
- * // => { 'a': [{ 'b': {} }] };
- */
- function unset(object, path) {
- return object == null ? true : baseUnset(object, path);
- }
-
- /**
- * This method is like `_.set` except that accepts `updater` to produce the
- * value to set. Use `_.updateWith` to customize `path` creation. The `updater`
- * is invoked with one argument: (value).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.6.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {Function} updater The function to produce the updated value.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.update(object, 'a[0].b.c', function(n) { return n * n; });
- * console.log(object.a[0].b.c);
- * // => 9
- *
- * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });
- * console.log(object.x[0].y.z);
- * // => 0
- */
- function update(object, path, updater) {
- return object == null ? object : baseUpdate(object, path, castFunction(updater));
- }
-
- /**
- * This method is like `_.update` except that it accepts `customizer` which is
- * invoked to produce the objects of `path`. If `customizer` returns `undefined`
- * path creation is handled by the method instead. The `customizer` is invoked
- * with three arguments: (nsValue, key, nsObject).
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 4.6.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {Function} updater The function to produce the updated value.
- * @param {Function} [customizer] The function to customize assigned values.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = {};
- *
- * _.updateWith(object, '[0][1]', _.constant('a'), Object);
- * // => { '0': { '1': 'a' } }
- */
- function updateWith(object, path, updater, customizer) {
- customizer = typeof customizer == 'function' ? customizer : undefined;
- return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);
- }
-
- /**
- * Creates an array of the own enumerable string keyed property values of `object`.
- *
- * **Note:** Non-object values are coerced to objects.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property values.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.values(new Foo);
- * // => [1, 2] (iteration order is not guaranteed)
- *
- * _.values('hi');
- * // => ['h', 'i']
- */
- function values(object) {
- return object == null ? [] : baseValues(object, keys(object));
- }
-
- /**
- * Creates an array of the own and inherited enumerable string keyed property
- * values of `object`.
- *
- * **Note:** Non-object values are coerced to objects.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property values.
- * @example
- *
- * function Foo() {
- * this.a = 1;
- * this.b = 2;
- * }
- *
- * Foo.prototype.c = 3;
- *
- * _.valuesIn(new Foo);
- * // => [1, 2, 3] (iteration order is not guaranteed)
- */
- function valuesIn(object) {
- return object == null ? [] : baseValues(object, keysIn(object));
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Clamps `number` within the inclusive `lower` and `upper` bounds.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Number
- * @param {number} number The number to clamp.
- * @param {number} [lower] The lower bound.
- * @param {number} upper The upper bound.
- * @returns {number} Returns the clamped number.
- * @example
- *
- * _.clamp(-10, -5, 5);
- * // => -5
- *
- * _.clamp(10, -5, 5);
- * // => 5
- */
- function clamp(number, lower, upper) {
- if (upper === undefined) {
- upper = lower;
- lower = undefined;
- }
- if (upper !== undefined) {
- upper = toNumber(upper);
- upper = upper === upper ? upper : 0;
- }
- if (lower !== undefined) {
- lower = toNumber(lower);
- lower = lower === lower ? lower : 0;
- }
- return baseClamp(toNumber(number), lower, upper);
- }
-
- /**
- * Checks if `n` is between `start` and up to, but not including, `end`. If
- * `end` is not specified, it's set to `start` with `start` then set to `0`.
- * If `start` is greater than `end` the params are swapped to support
- * negative ranges.
- *
- * @static
- * @memberOf _
- * @since 3.3.0
- * @category Number
- * @param {number} number The number to check.
- * @param {number} [start=0] The start of the range.
- * @param {number} end The end of the range.
- * @returns {boolean} Returns `true` if `number` is in the range, else `false`.
- * @see _.range, _.rangeRight
- * @example
- *
- * _.inRange(3, 2, 4);
- * // => true
- *
- * _.inRange(4, 8);
- * // => true
- *
- * _.inRange(4, 2);
- * // => false
- *
- * _.inRange(2, 2);
- * // => false
- *
- * _.inRange(1.2, 2);
- * // => true
- *
- * _.inRange(5.2, 4);
- * // => false
- *
- * _.inRange(-3, -2, -6);
- * // => true
- */
- function inRange(number, start, end) {
- start = toFinite(start);
- if (end === undefined) {
- end = start;
- start = 0;
- } else {
- end = toFinite(end);
- }
- number = toNumber(number);
- return baseInRange(number, start, end);
- }
-
- /**
- * Produces a random number between the inclusive `lower` and `upper` bounds.
- * If only one argument is provided a number between `0` and the given number
- * is returned. If `floating` is `true`, or either `lower` or `upper` are
- * floats, a floating-point number is returned instead of an integer.
- *
- * **Note:** JavaScript follows the IEEE-754 standard for resolving
- * floating-point values which can produce unexpected results.
- *
- * @static
- * @memberOf _
- * @since 0.7.0
- * @category Number
- * @param {number} [lower=0] The lower bound.
- * @param {number} [upper=1] The upper bound.
- * @param {boolean} [floating] Specify returning a floating-point number.
- * @returns {number} Returns the random number.
- * @example
- *
- * _.random(0, 5);
- * // => an integer between 0 and 5
- *
- * _.random(5);
- * // => also an integer between 0 and 5
- *
- * _.random(5, true);
- * // => a floating-point number between 0 and 5
- *
- * _.random(1.2, 5.2);
- * // => a floating-point number between 1.2 and 5.2
- */
- function random(lower, upper, floating) {
- if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {
- upper = floating = undefined;
- }
- if (floating === undefined) {
- if (typeof upper == 'boolean') {
- floating = upper;
- upper = undefined;
- }
- else if (typeof lower == 'boolean') {
- floating = lower;
- lower = undefined;
- }
- }
- if (lower === undefined && upper === undefined) {
- lower = 0;
- upper = 1;
- }
- else {
- lower = toFinite(lower);
- if (upper === undefined) {
- upper = lower;
- lower = 0;
- } else {
- upper = toFinite(upper);
- }
- }
- if (lower > upper) {
- var temp = lower;
- lower = upper;
- upper = temp;
- }
- if (floating || lower % 1 || upper % 1) {
- var rand = nativeRandom();
- return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);
- }
- return baseRandom(lower, upper);
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the camel cased string.
- * @example
- *
- * _.camelCase('Foo Bar');
- * // => 'fooBar'
- *
- * _.camelCase('--foo-bar--');
- * // => 'fooBar'
- *
- * _.camelCase('__FOO_BAR__');
- * // => 'fooBar'
- */
- var camelCase = createCompounder(function(result, word, index) {
- word = word.toLowerCase();
- return result + (index ? capitalize(word) : word);
- });
-
- /**
- * Converts the first character of `string` to upper case and the remaining
- * to lower case.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to capitalize.
- * @returns {string} Returns the capitalized string.
- * @example
- *
- * _.capitalize('FRED');
- * // => 'Fred'
- */
- function capitalize(string) {
- return upperFirst(toString(string).toLowerCase());
- }
-
- /**
- * Deburrs `string` by converting
- * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
- * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)
- * letters to basic Latin letters and removing
- * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to deburr.
- * @returns {string} Returns the deburred string.
- * @example
- *
- * _.deburr('déjà vu');
- * // => 'deja vu'
- */
- function deburr(string) {
- string = toString(string);
- return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');
- }
-
- /**
- * Checks if `string` ends with the given target string.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to inspect.
- * @param {string} [target] The string to search for.
- * @param {number} [position=string.length] The position to search up to.
- * @returns {boolean} Returns `true` if `string` ends with `target`,
- * else `false`.
- * @example
- *
- * _.endsWith('abc', 'c');
- * // => true
- *
- * _.endsWith('abc', 'b');
- * // => false
- *
- * _.endsWith('abc', 'b', 2);
- * // => true
- */
- function endsWith(string, target, position) {
- string = toString(string);
- target = baseToString(target);
-
- var length = string.length;
- position = position === undefined
- ? length
- : baseClamp(toInteger(position), 0, length);
-
- var end = position;
- position -= target.length;
- return position >= 0 && string.slice(position, end) == target;
- }
-
- /**
- * Converts the characters "&", "<", ">", '"', and "'" in `string` to their
- * corresponding HTML entities.
- *
- * **Note:** No other characters are escaped. To escape additional
- * characters use a third-party library like [_he_](https://mths.be/he).
- *
- * Though the ">" character is escaped for symmetry, characters like
- * ">" and "/" don't need escaping in HTML and have no special meaning
- * unless they're part of a tag or unquoted attribute value. See
- * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
- * (under "semi-related fun fact") for more details.
- *
- * When working with HTML you should always
- * [quote attribute values](http://wonko.com/post/html-escaping) to reduce
- * XSS vectors.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category String
- * @param {string} [string=''] The string to escape.
- * @returns {string} Returns the escaped string.
- * @example
- *
- * _.escape('fred, barney, & pebbles');
- * // => 'fred, barney, & pebbles'
- */
- function escape(string) {
- string = toString(string);
- return (string && reHasUnescapedHtml.test(string))
- ? string.replace(reUnescapedHtml, escapeHtmlChar)
- : string;
- }
-
- /**
- * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+",
- * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to escape.
- * @returns {string} Returns the escaped string.
- * @example
- *
- * _.escapeRegExp('[lodash](https://lodash.com/)');
- * // => '\[lodash\]\(https://lodash\.com/\)'
- */
- function escapeRegExp(string) {
- string = toString(string);
- return (string && reHasRegExpChar.test(string))
- ? string.replace(reRegExpChar, '\\$&')
- : string;
- }
-
- /**
- * Converts `string` to
- * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the kebab cased string.
- * @example
- *
- * _.kebabCase('Foo Bar');
- * // => 'foo-bar'
- *
- * _.kebabCase('fooBar');
- * // => 'foo-bar'
- *
- * _.kebabCase('__FOO_BAR__');
- * // => 'foo-bar'
- */
- var kebabCase = createCompounder(function(result, word, index) {
- return result + (index ? '-' : '') + word.toLowerCase();
- });
-
- /**
- * Converts `string`, as space separated words, to lower case.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the lower cased string.
- * @example
- *
- * _.lowerCase('--Foo-Bar--');
- * // => 'foo bar'
- *
- * _.lowerCase('fooBar');
- * // => 'foo bar'
- *
- * _.lowerCase('__FOO_BAR__');
- * // => 'foo bar'
- */
- var lowerCase = createCompounder(function(result, word, index) {
- return result + (index ? ' ' : '') + word.toLowerCase();
- });
-
- /**
- * Converts the first character of `string` to lower case.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the converted string.
- * @example
- *
- * _.lowerFirst('Fred');
- * // => 'fred'
- *
- * _.lowerFirst('FRED');
- * // => 'fRED'
- */
- var lowerFirst = createCaseFirst('toLowerCase');
-
- /**
- * Pads `string` on the left and right sides if it's shorter than `length`.
- * Padding characters are truncated if they can't be evenly divided by `length`.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to pad.
- * @param {number} [length=0] The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padded string.
- * @example
- *
- * _.pad('abc', 8);
- * // => ' abc '
- *
- * _.pad('abc', 8, '_-');
- * // => '_-abc_-_'
- *
- * _.pad('abc', 3);
- * // => 'abc'
- */
- function pad(string, length, chars) {
- string = toString(string);
- length = toInteger(length);
-
- var strLength = length ? stringSize(string) : 0;
- if (!length || strLength >= length) {
- return string;
- }
- var mid = (length - strLength) / 2;
- return (
- createPadding(nativeFloor(mid), chars) +
- string +
- createPadding(nativeCeil(mid), chars)
- );
- }
-
- /**
- * Pads `string` on the right side if it's shorter than `length`. Padding
- * characters are truncated if they exceed `length`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to pad.
- * @param {number} [length=0] The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padded string.
- * @example
- *
- * _.padEnd('abc', 6);
- * // => 'abc '
- *
- * _.padEnd('abc', 6, '_-');
- * // => 'abc_-_'
- *
- * _.padEnd('abc', 3);
- * // => 'abc'
- */
- function padEnd(string, length, chars) {
- string = toString(string);
- length = toInteger(length);
-
- var strLength = length ? stringSize(string) : 0;
- return (length && strLength < length)
- ? (string + createPadding(length - strLength, chars))
- : string;
- }
-
- /**
- * Pads `string` on the left side if it's shorter than `length`. Padding
- * characters are truncated if they exceed `length`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to pad.
- * @param {number} [length=0] The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padded string.
- * @example
- *
- * _.padStart('abc', 6);
- * // => ' abc'
- *
- * _.padStart('abc', 6, '_-');
- * // => '_-_abc'
- *
- * _.padStart('abc', 3);
- * // => 'abc'
- */
- function padStart(string, length, chars) {
- string = toString(string);
- length = toInteger(length);
-
- var strLength = length ? stringSize(string) : 0;
- return (length && strLength < length)
- ? (createPadding(length - strLength, chars) + string)
- : string;
- }
-
- /**
- * Converts `string` to an integer of the specified radix. If `radix` is
- * `undefined` or `0`, a `radix` of `10` is used unless `value` is a
- * hexadecimal, in which case a `radix` of `16` is used.
- *
- * **Note:** This method aligns with the
- * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.
- *
- * @static
- * @memberOf _
- * @since 1.1.0
- * @category String
- * @param {string} string The string to convert.
- * @param {number} [radix=10] The radix to interpret `value` by.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.parseInt('08');
- * // => 8
- *
- * _.map(['6', '08', '10'], _.parseInt);
- * // => [6, 8, 10]
- */
- function parseInt(string, radix, guard) {
- if (guard || radix == null) {
- radix = 0;
- } else if (radix) {
- radix = +radix;
- }
- return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);
- }
-
- /**
- * Repeats the given string `n` times.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to repeat.
- * @param {number} [n=1] The number of times to repeat the string.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {string} Returns the repeated string.
- * @example
- *
- * _.repeat('*', 3);
- * // => '***'
- *
- * _.repeat('abc', 2);
- * // => 'abcabc'
- *
- * _.repeat('abc', 0);
- * // => ''
- */
- function repeat(string, n, guard) {
- if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {
- n = 1;
- } else {
- n = toInteger(n);
- }
- return baseRepeat(toString(string), n);
- }
-
- /**
- * Replaces matches for `pattern` in `string` with `replacement`.
- *
- * **Note:** This method is based on
- * [`String#replace`](https://mdn.io/String/replace).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to modify.
- * @param {RegExp|string} pattern The pattern to replace.
- * @param {Function|string} replacement The match replacement.
- * @returns {string} Returns the modified string.
- * @example
- *
- * _.replace('Hi Fred', 'Fred', 'Barney');
- * // => 'Hi Barney'
- */
- function replace() {
- var args = arguments,
- string = toString(args[0]);
-
- return args.length < 3 ? string : string.replace(args[1], args[2]);
- }
-
- /**
- * Converts `string` to
- * [snake case](https://en.wikipedia.org/wiki/Snake_case).
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the snake cased string.
- * @example
- *
- * _.snakeCase('Foo Bar');
- * // => 'foo_bar'
- *
- * _.snakeCase('fooBar');
- * // => 'foo_bar'
- *
- * _.snakeCase('--FOO-BAR--');
- * // => 'foo_bar'
- */
- var snakeCase = createCompounder(function(result, word, index) {
- return result + (index ? '_' : '') + word.toLowerCase();
- });
-
- /**
- * Splits `string` by `separator`.
- *
- * **Note:** This method is based on
- * [`String#split`](https://mdn.io/String/split).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to split.
- * @param {RegExp|string} separator The separator pattern to split by.
- * @param {number} [limit] The length to truncate results to.
- * @returns {Array} Returns the string segments.
- * @example
- *
- * _.split('a-b-c', '-', 2);
- * // => ['a', 'b']
- */
- function split(string, separator, limit) {
- if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {
- separator = limit = undefined;
- }
- limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;
- if (!limit) {
- return [];
- }
- string = toString(string);
- if (string && (
- typeof separator == 'string' ||
- (separator != null && !isRegExp(separator))
- )) {
- separator = baseToString(separator);
- if (!separator && hasUnicode(string)) {
- return castSlice(stringToArray(string), 0, limit);
- }
- }
- return string.split(separator, limit);
- }
-
- /**
- * Converts `string` to
- * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).
- *
- * @static
- * @memberOf _
- * @since 3.1.0
- * @category String
- * @param {string} [string=''] The string to convert.
- * @returns {string} Returns the start cased string.
- * @example
- *
- * _.startCase('--foo-bar--');
- * // => 'Foo Bar'
- *
- * _.startCase('fooBar');
- * // => 'Foo Bar'
- *
- * _.startCase('__FOO_BAR__');
- * // => 'FOO BAR'
- */
- var startCase = createCompounder(function(result, word, index) {
- return result + (index ? ' ' : '') + upperFirst(word);
- });
-
- /**
- * Checks if `string` starts with the given target string.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to inspect.
- * @param {string} [target] The string to search for.
- * @param {number} [position=0] The position to search from.
- * @returns {boolean} Returns `true` if `string` starts with `target`,
- * else `false`.
- * @example
- *
- * _.startsWith('abc', 'a');
- * // => true
- *
- * _.startsWith('abc', 'b');
- * // => false
- *
- * _.startsWith('abc', 'b', 1);
- * // => true
- */
- function startsWith(string, target, position) {
- string = toString(string);
- position = position == null
- ? 0
- : baseClamp(toInteger(position), 0, string.length);
-
- target = baseToString(target);
- return string.slice(position, position + target.length) == target;
- }
-
- /**
- * Creates a compiled template function that can interpolate data properties
- * in "interpolate" delimiters, HTML-escape interpolated data properties in
- * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data
- * properties may be accessed as free variables in the template. If a setting
- * object is given, it takes precedence over `_.templateSettings` values.
- *
- * **Note:** In the development build `_.template` utilizes
- * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
- * for easier debugging.
- *
- * For more information on precompiling templates see
- * [lodash's custom builds documentation](https://lodash.com/custom-builds).
- *
- * For more information on Chrome extension sandboxes see
- * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category String
- * @param {string} [string=''] The template string.
- * @param {Object} [options={}] The options object.
- * @param {RegExp} [options.escape=_.templateSettings.escape]
- * The HTML "escape" delimiter.
- * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]
- * The "evaluate" delimiter.
- * @param {Object} [options.imports=_.templateSettings.imports]
- * An object to import into the template as free variables.
- * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]
- * The "interpolate" delimiter.
- * @param {string} [options.sourceURL='lodash.templateSources[n]']
- * The sourceURL of the compiled template.
- * @param {string} [options.variable='obj']
- * The data object variable name.
- * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
- * @returns {Function} Returns the compiled template function.
- * @example
- *
- * // Use the "interpolate" delimiter to create a compiled template.
- * var compiled = _.template('hello <%= user %>!');
- * compiled({ 'user': 'fred' });
- * // => 'hello fred!'
- *
- * // Use the HTML "escape" delimiter to escape data property values.
- * var compiled = _.template('<%- value %>');
- * compiled({ 'value': '\\n\\n\\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\n\t/*\r\n\t\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\t\tAuthor Tobias Koppers @sokra\r\n\t*/\r\n\t// css base code, injected by the css-loader\r\n\tmodule.exports = function() {\r\n\t\tvar list = [];\r\n\t\r\n\t\t// return the list of modules as css string\r\n\t\tlist.toString = function toString() {\r\n\t\t\tvar result = [];\r\n\t\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\t\tvar item = this[i];\r\n\t\t\t\tif(item[2]) {\r\n\t\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresult.push(item[1]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn result.join(\"\");\r\n\t\t};\r\n\t\r\n\t\t// import a list of modules into the list\r\n\t\tlist.i = function(modules, mediaQuery) {\r\n\t\t\tif(typeof modules === \"string\")\r\n\t\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\t\tvar alreadyImportedModules = {};\r\n\t\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\t\tvar id = this[i][0];\r\n\t\t\t\tif(typeof id === \"number\")\r\n\t\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t\t}\r\n\t\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\t\tvar item = modules[i];\r\n\t\t\t\t// skip already imported module\r\n\t\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlist.push(item);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn list;\r\n\t};\r\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/*\n\t\tMIT License http://www.opensource.org/licenses/mit-license.php\n\t\tAuthor Tobias Koppers @sokra\n\t*/\n\tvar stylesInDom = {},\n\t\tmemoize = function(fn) {\n\t\t\tvar memo;\n\t\t\treturn function () {\n\t\t\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\t\t\treturn memo;\n\t\t\t};\n\t\t},\n\t\tisOldIE = memoize(function() {\n\t\t\treturn /msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase());\n\t\t}),\n\t\tgetHeadElement = memoize(function () {\n\t\t\treturn document.head || document.getElementsByTagName(\"head\")[0];\n\t\t}),\n\t\tsingletonElement = null,\n\t\tsingletonCounter = 0,\n\t\tstyleElementsInsertedAtTop = [];\n\t\n\tmodule.exports = function(list, options) {\n\t\tif(false) {}\n\t\n\t\toptions = options || {};\n\t\t// Force single-tag solution on IE6-9, which has a hard limit on the # of \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(65);\n\t\n\tvar _NodeList = __webpack_require__(1);\n\t\n\tvar _NodeList2 = _interopRequireDefault(_NodeList);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\texports.default = {\n\t props: {\n\t header: { type: String },\n\t placement: { type: String, default: 'right' },\n\t show: { type: Boolean, required: true },\n\t width: { type: Number, default: 320 }\n\t },\n\t watch: {\n\t show: function show(val, old) {\n\t var _this = this;\n\t\n\t this.$emit('input', val);\n\t this.$emit(this.show ? 'open' : 'close');\n\t var body = document.body;\n\t var scrollBarWidth = (0, _utils.getScrollBarWidth)();\n\t if (val) {\n\t if (!this._backdrop) {\n\t this._backdrop = document.createElement('div');\n\t }\n\t this._backdrop.className = 'aside-backdrop';\n\t body.appendChild(this._backdrop);\n\t body.classList.add('modal-open');\n\t if (scrollBarWidth !== 0) {\n\t body.style.paddingRight = scrollBarWidth + 'px';\n\t }\n\t // request property that requires layout to force a layout\n\t var x = this._backdrop.clientHeight;\n\t this._backdrop.classList.add('in');\n\t (0, _NodeList2.default)(this._backdrop).on('click', function () {\n\t return _this.trigger_close();\n\t });\n\t } else {\n\t (0, _NodeList2.default)(this._backdrop).on('transitionend', function () {\n\t (0, _NodeList2.default)(_this._backdrop).off();\n\t try {\n\t body.classList.remove('modal-open');\n\t body.style.paddingRight = '0';\n\t body.removeChild(_this._backdrop);\n\t _this._backdrop = null;\n\t } catch (e) {}\n\t });\n\t this._backdrop.className = 'aside-backdrop';\n\t }\n\t }\n\t },\n\t methods: {\n\t trigger: function trigger() {\n\t var _this2 = this;\n\t\n\t return {\n\t close: function close() {\n\t return _this2.trigger_close();\n\t },\n\t open: function open() {\n\t return _this2.trigger_open();\n\t }\n\t };\n\t },\n\t trigger_close: function trigger_close() {\n\t this.$emit('close');\n\t },\n\t trigger_open: function trigger_open() {\n\t this.$emit('open');\n\t }\n\t },\n\t mounted: function mounted() {\n\t var _this3 = this;\n\t\n\t this.$emit('trigger', function () {\n\t return _this3.trigger;\n\t });\n\t }\n\t};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('transition', {\n\t attrs: {\n\t \"name\": 'slide' + _vm.placement\n\t }\n\t }, [(_vm.show) ? _c('div', {\n\t staticClass: \"aside\",\n\t class: _vm.placement,\n\t style: ({\n\t width: _vm.width + 'px'\n\t })\n\t }, [_c('div', {\n\t staticClass: \"aside-dialog\"\n\t }, [_c('div', {\n\t staticClass: \"aside-content\"\n\t }, [_c('div', {\n\t staticClass: \"aside-header\"\n\t }, [_c('button', {\n\t staticClass: \"close\",\n\t attrs: {\n\t \"type\": \"button\"\n\t },\n\t on: {\n\t \"click\": _vm.trigger_close\n\t }\n\t }, [_c('span', [_vm._v(\"×\")])]), _vm._v(\" \"), _c('h4', {\n\t staticClass: \"aside-title\"\n\t }, [_vm._t(\"header\", [_vm._v(_vm._s(_vm.header))])], 2)]), _vm._v(\" \"), _c('div', {\n\t staticClass: \"aside-body\"\n\t }, [_vm._t(\"default\")], 2)])])]) : _vm._e()])\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(88)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(89)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/buttonGroup.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] buttonGroup.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\texports.default = {\n\t props: {\n\t buttons: { type: Boolean, default: true },\n\t disabled: { type: Boolean, default: false },\n\t justified: { type: Boolean, default: false },\n\t type: { type: String, default: 'default' },\n\t value: { default: null },\n\t vertical: { type: Boolean, default: false }\n\t },\n\t computed: {\n\t btnGroup: function btnGroup() {\n\t return !this.disabled;\n\t }\n\t },\n\t data: function data() {\n\t return {\n\t val: this.value\n\t };\n\t },\n\t\n\t watch: {\n\t // this will update EXTERNAL v-model when our val changes\n\t val: function val(_val) {\n\t this.$emit('input', _val);\n\t },\n\t\n\t // this will update our INTERNAL val, when something external changes our v-model\n\t value: function value(val) {\n\t this.val = val;\n\t }\n\t }\n\t};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t class: {\n\t 'btn-group': _vm.buttons, 'btn-group-justified': _vm.justified, 'btn-group-vertical': _vm.vertical\n\t },\n\t attrs: {\n\t \"data-toggle\": _vm.buttons && 'buttons'\n\t }\n\t }, [_vm._t(\"default\")], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(91)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(93)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(94)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Carousel.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t__vue_options__._scopeId = \"data-v-f20442cc\"\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Carousel.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _NodeList = __webpack_require__(1);\n\t\n\tvar _NodeList2 = _interopRequireDefault(_NodeList);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t// let coerce = {\n\t// interval: 'number'\n\t// }\n\t\n\texports.default = {\n\t props: {\n\t indicators: {\n\t type: Boolean,\n\t default: true\n\t },\n\t controls: {\n\t type: Boolean,\n\t default: true\n\t },\n\t interval: {\n\t type: Number,\n\t default: 5000\n\t }\n\t },\n\t data: function data() {\n\t return {\n\t indicator_list: [],\n\t index: 0,\n\t isAnimating: false\n\t };\n\t },\n\t\n\t watch: {\n\t index: function index(newVal, oldVal) {\n\t this.slide(newVal > oldVal ? 'left' : 'right', newVal, oldVal);\n\t }\n\t },\n\t methods: {\n\t indicatorClick: function indicatorClick(index) {\n\t if (this.isAnimating || this.index === index) return false;\n\t this.isAnimating = true;\n\t this.index = index;\n\t },\n\t slide: function slide(direction, next, prev) {\n\t var _this = this;\n\t\n\t if (!this.$el) {\n\t return;\n\t }\n\t var $slider = (0, _NodeList2.default)('.item', this.$el);\n\t if (!$slider.length) {\n\t return;\n\t }\n\t var selected = $slider[next] || $slider[0];\n\t (0, _NodeList2.default)(selected).addClass(direction === 'left' ? 'next' : 'prev');\n\t // request property that requires layout to force a layout\n\t var x = selected.clientHeight;\n\t (0, _NodeList2.default)([$slider[prev], selected]).addClass(direction).on('transitionend', function () {\n\t $slider.off('transitionend').className = 'item';\n\t (0, _NodeList2.default)(selected).addClass('active');\n\t _this.isAnimating = false;\n\t });\n\t },\n\t next: function next() {\n\t if (!this.$el || this.isAnimating) {\n\t return false;\n\t }\n\t this.isAnimating = true;\n\t this.index + 1 < (0, _NodeList2.default)('.item', this.$el).length ? this.index += 1 : this.index = 0;\n\t },\n\t prev: function prev() {\n\t if (!this.$el || this.isAnimating) {\n\t return false;\n\t }\n\t this.isAnimating = true;\n\t this.index === 0 ? this.index = (0, _NodeList2.default)('.item', this.$el).length - 1 : this.index -= 1;\n\t },\n\t toggleInterval: function toggleInterval(val) {\n\t if (val === undefined) {\n\t val = this._intervalID;\n\t }\n\t if (this._intervalID) {\n\t clearInterval(this._intervalID);\n\t delete this._intervalID;\n\t }\n\t if (val && this.interval > 0) {\n\t this._intervalID = setInterval(this.next, this.interval);\n\t }\n\t }\n\t },\n\t mounted: function mounted() {\n\t var _this2 = this;\n\t\n\t this.toggleInterval(true);\n\t (0, _NodeList2.default)(this.$el).on('mouseenter', function () {\n\t return _this2.toggleInterval(false);\n\t }).on('mouseleave', function () {\n\t return _this2.toggleInterval(true);\n\t });\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t this.toggleInterval(false);\n\t (0, _NodeList2.default)(this.$el).off('mouseenter mouseleave');\n\t }\n\t}; //\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t staticClass: \"carousel slide\",\n\t attrs: {\n\t \"data-ride\": \"carousel\"\n\t }\n\t }, [_c('ol', {\n\t directives: [{\n\t name: \"show\",\n\t rawName: \"v-show\",\n\t value: (_vm.indicators),\n\t expression: \"indicators\"\n\t }],\n\t staticClass: \"carousel-indicators\"\n\t }, _vm._l((_vm.indicator_list), function(indicator, i) {\n\t return _c('li', {\n\t class: {\n\t active: i === _vm.index\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.indicatorClick(i)\n\t }\n\t }\n\t }, [_c('span')])\n\t })), _vm._v(\" \"), _c('div', {\n\t staticClass: \"carousel-inner\",\n\t attrs: {\n\t \"role\": \"listbox\"\n\t }\n\t }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n\t directives: [{\n\t name: \"show\",\n\t rawName: \"v-show\",\n\t value: (_vm.controls),\n\t expression: \"controls\"\n\t }],\n\t staticClass: \"carousel-controls hidden-xs\"\n\t }, [_c('a', {\n\t staticClass: \"left carousel-control\",\n\t attrs: {\n\t \"role\": \"button\"\n\t },\n\t on: {\n\t \"click\": _vm.prev\n\t }\n\t }, [_c('span', {\n\t staticClass: \"glyphicon glyphicon-chevron-left\",\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t }\n\t })]), _vm._v(\" \"), _c('a', {\n\t staticClass: \"right carousel-control\",\n\t attrs: {\n\t \"role\": \"button\"\n\t },\n\t on: {\n\t \"click\": _vm.next\n\t }\n\t }, [_c('span', {\n\t staticClass: \"glyphicon glyphicon-chevron-right\",\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t }\n\t })])])])\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(96)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(98)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(99)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Checkbox.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t__vue_options__._scopeId = \"data-v-841aa106\"\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Checkbox.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\texports.default = {\n\t props: {\n\t button: { type: Boolean, default: false },\n\t disabled: { type: Boolean, default: false },\n\t falseValue: { default: false },\n\t name: { type: String, default: null },\n\t readonly: { type: Boolean, default: false },\n\t trueValue: { default: true },\n\t type: { type: String, default: null },\n\t value: { default: false }\n\t },\n\t data: function data() {\n\t return {\n\t checked: this.value === this.trueValue\n\t };\n\t },\n\t\n\t computed: {\n\t inGroup: function inGroup() {\n\t return this.$parent && this.$parent.btnGroup && !this.$parent._radioGroup;\n\t },\n\t isButton: function isButton() {\n\t return this.button || this.$parent && this.$parent.btnGroup && this.$parent.buttons;\n\t },\n\t isFalse: function isFalse() {\n\t return this.value === this.falseValue;\n\t },\n\t isTrue: function isTrue() {\n\t return this.value === this.trueValue;\n\t },\n\t parentValue: function parentValue() {\n\t return this.$parent.val;\n\t },\n\t typeColor: function typeColor() {\n\t return this.type || this.$parent && this.$parent.type || 'default';\n\t }\n\t },\n\t watch: {\n\t checked: function checked(val, old) {\n\t var value = val ? this.trueValue : this.falseValue;\n\t this.$emit('checked', val);\n\t this.$emit('input', value);\n\t this.updateParent();\n\t },\n\t parentValue: function parentValue(val) {\n\t this.updateFromParent();\n\t },\n\t value: function value(val, old) {\n\t var checked = val === this.trueValue;\n\t if (this.checked !== checked) {\n\t this.checked = checked;\n\t }\n\t }\n\t },\n\t created: function created() {\n\t if (this.inGroup) {\n\t var parent = this.$parent;\n\t parent._checkboxGroup = true;\n\t if (!(parent.val instanceof Array)) {\n\t parent.val = [];\n\t }\n\t }\n\t },\n\t mounted: function mounted() {\n\t this.updateFromParent();\n\t },\n\t\n\t methods: {\n\t // called @ mounted(), or whenever $parent.val changes\n\t // sync our state with the $parent.val\n\t updateFromParent: function updateFromParent() {\n\t if (this.inGroup) {\n\t var index = this.$parent.val.indexOf(this.trueValue);\n\t this.checked = ~index;\n\t }\n\t },\n\t\n\t // called when our checked state changes\n\t updateParent: function updateParent() {\n\t if (this.inGroup) {\n\t var index = this.$parent.val.indexOf(this.trueValue);\n\t if (this.checked && !~index) this.$parent.val.push(this.trueValue);\n\t if (!this.checked && ~index) this.$parent.val.splice(index, 1);\n\t }\n\t },\n\t toggle: function toggle() {\n\t if (this.disabled || this.readonly) {\n\t return;\n\t }\n\t this.checked = !this.checked;\n\t }\n\t }\n\t};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c(_vm.isButton ? 'a' : 'label', {\n\t tag: \"a\",\n\t class: [_vm.isButton ? 'btn btn-' + _vm.typeColor : 'open checkbox ' + _vm.typeColor, {\n\t active: _vm.checked,\n\t disabled: _vm.disabled,\n\t readonly: _vm.readonly\n\t }],\n\t on: {\n\t \"click\": _vm.toggle\n\t }\n\t }, [(_vm.name) ? _c('input', {\n\t attrs: {\n\t \"type\": \"hidden\",\n\t \"name\": _vm.name\n\t },\n\t domProps: {\n\t \"value\": _vm.checked ? _vm.trueValue : _vm.falseValue\n\t }\n\t }) : _vm._e(), _vm._v(\" \"), (!_vm.isButton) ? _c('span', {\n\t staticClass: \"icon dropdown-toggle\",\n\t class: [_vm.checked ? 'btn-' + _vm.typeColor : '', {\n\t bg: _vm.typeColor === 'default'\n\t }]\n\t }) : _vm._e(), _vm._v(\" \"), (!_vm.isButton && _vm.checked && _vm.typeColor === 'default') ? _c('span', {\n\t staticClass: \"icon\"\n\t }) : _vm._e(), _vm._v(\" \"), _vm._t(\"default\")], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(101)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(103)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(104)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Datepicker.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Datepicker.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(65);\n\t\n\t// import $ from './utils/NodeList.js'\n\t\n\texports.default = {\n\t props: {\n\t value: { type: String },\n\t format: { default: 'MM/dd/yyyy' },\n\t disabledDaysOfWeek: { type: Array, default: function _default() {\n\t return [];\n\t }\n\t },\n\t width: { type: String },\n\t clearButton: { type: Boolean, default: false },\n\t lang: { type: String, default: navigator.language },\n\t name: { type: String },\n\t placeholder: { type: String },\n\t iconsFont: { type: String, default: 'glyphicon' }\n\t },\n\t data: function data() {\n\t return {\n\t currDate: new Date(),\n\t dateRange: [],\n\t decadeRange: [],\n\t displayDayView: false,\n\t displayMonthView: false,\n\t displayYearView: false,\n\t val: this.value\n\t };\n\t },\n\t\n\t watch: {\n\t currDate: function currDate() {\n\t this.getDateRange();\n\t },\n\t format: function format() {\n\t this.val = this.stringify(this.currDate);\n\t },\n\t val: function val(_val, old) {\n\t this.$emit('input', _val);\n\t },\n\t value: function value(val) {\n\t if (this.val !== val) {\n\t this.val = val;\n\t }\n\t }\n\t },\n\t computed: {\n\t text: function text() {\n\t return (0, _utils.translations)(this.lang);\n\t },\n\t preBtnClasses: function preBtnClasses() {\n\t return 'datepicker-preBtn ' + this.iconsFont + ' ' + this.iconsFont + '-chevron-left';\n\t },\n\t nextBtnClasses: function nextBtnClasses() {\n\t return 'datepicker-nextBtn ' + this.iconsFont + ' ' + this.iconsFont + '-chevron-right';\n\t },\n\t disabledDaysArray: function disabledDaysArray() {\n\t return this.disabledDaysOfWeek.map(function (d) {\n\t return parseInt(d, 10);\n\t });\n\t }\n\t },\n\t methods: {\n\t close: function close() {\n\t this.displayDayView = this.displayMonthView = this.displayYearView = false;\n\t },\n\t inputClick: function inputClick() {\n\t this.currDate = this.parse(this.val) || this.parse(new Date());\n\t if (this.displayMonthView || this.displayYearView) {\n\t this.displayDayView = false;\n\t } else {\n\t this.displayDayView = !this.displayDayView;\n\t }\n\t },\n\t preNextDecadeClick: function preNextDecadeClick(flag) {\n\t var year = this.currDate.getFullYear();\n\t var months = this.currDate.getMonth();\n\t var date = this.currDate.getDate();\n\t\n\t if (flag === 0) {\n\t this.currDate = new Date(year - 10, months, date);\n\t } else {\n\t this.currDate = new Date(year + 10, months, date);\n\t }\n\t },\n\t preNextMonthClick: function preNextMonthClick(flag) {\n\t var year = this.currDate.getFullYear();\n\t var month = this.currDate.getMonth();\n\t var date = this.currDate.getDate();\n\t\n\t if (flag === 0) {\n\t var preMonth = this.getYearMonth(year, month - 1);\n\t this.currDate = new Date(preMonth.year, preMonth.month, date);\n\t } else {\n\t var nextMonth = this.getYearMonth(year, month + 1);\n\t this.currDate = new Date(nextMonth.year, nextMonth.month, date);\n\t }\n\t },\n\t preNextYearClick: function preNextYearClick(flag) {\n\t var year = this.currDate.getFullYear();\n\t var months = this.currDate.getMonth();\n\t var date = this.currDate.getDate();\n\t\n\t if (flag === 0) {\n\t this.currDate = new Date(year - 1, months, date);\n\t } else {\n\t this.currDate = new Date(year + 1, months, date);\n\t }\n\t },\n\t yearSelect: function yearSelect(year) {\n\t this.displayYearView = false;\n\t this.displayMonthView = true;\n\t this.currDate = new Date(year, this.currDate.getMonth(), this.currDate.getDate());\n\t },\n\t daySelect: function daySelect(day) {\n\t if (day.sclass === 'datepicker-item-disable') {\n\t return false;\n\t } else {\n\t this.currDate = day.date;\n\t this.val = this.stringify(this.currDate);\n\t this.displayDayView = false;\n\t }\n\t },\n\t switchMonthView: function switchMonthView() {\n\t this.displayDayView = false;\n\t this.displayMonthView = true;\n\t },\n\t switchDecadeView: function switchDecadeView() {\n\t this.displayMonthView = false;\n\t this.displayYearView = true;\n\t },\n\t monthSelect: function monthSelect(index) {\n\t this.displayMonthView = false;\n\t this.displayDayView = true;\n\t this.currDate = new Date(this.currDate.getFullYear(), index, this.currDate.getDate());\n\t },\n\t getYearMonth: function getYearMonth(year, month) {\n\t if (month > 11) {\n\t year++;\n\t month = 0;\n\t } else if (month < 0) {\n\t year--;\n\t month = 11;\n\t }\n\t return { year: year, month: month };\n\t },\n\t stringifyDecadeHeader: function stringifyDecadeHeader(date) {\n\t var yearStr = date.getFullYear().toString();\n\t var firstYearOfDecade = yearStr.substring(0, yearStr.length - 1) + 0;\n\t var lastYearOfDecade = parseInt(firstYearOfDecade, 10) + 10;\n\t return firstYearOfDecade + '-' + lastYearOfDecade;\n\t },\n\t stringifyDayHeader: function stringifyDayHeader(date) {\n\t return this.text.months[date.getMonth()] + ' ' + date.getFullYear();\n\t },\n\t parseMonth: function parseMonth(date) {\n\t return this.text.months[date.getMonth()];\n\t },\n\t stringifyYearHeader: function stringifyYearHeader(date) {\n\t return date.getFullYear();\n\t },\n\t stringify: function stringify(date) {\n\t var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.format;\n\t\n\t if (!date) date = this.parse();\n\t if (!date) return '';\n\t var year = date.getFullYear();\n\t var month = date.getMonth() + 1;\n\t var day = date.getDate();\n\t var monthName = this.parseMonth(date);\n\t return format.replace(/yyyy/g, year).replace(/yy/g, year).replace(/MMMM/g, monthName).replace(/MMM/g, monthName.substring(0, 3)).replace(/MM/g, ('0' + month).slice(-2)).replace(/M(?!a)/g, month).replace(/dd/g, ('0' + day).slice(-2)).replace(/d/g, day);\n\t },\n\t parse: function parse(str) {\n\t if (str === undefined || str === null) {\n\t str = this.val;\n\t }\n\t var date = str.length === 10 && (this.format === 'dd-MM-yyyy' || this.format === 'dd/MM/yyyy' || this.format === 'dd.MM.yyyy') ? new Date(str.substring(6, 10), str.substring(3, 5) - 1, str.substring(0, 2)) : new Date(str);\n\t return isNaN(date.getFullYear()) ? new Date() : date;\n\t },\n\t getDayCount: function getDayCount(year, month) {\n\t var dict = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\t if (month === 1) {\n\t if (year % 400 === 0 || year % 4 === 0 && year % 100 !== 0) {\n\t return 29;\n\t }\n\t }\n\t return dict[month];\n\t },\n\t getDateRange: function getDateRange() {\n\t this.dateRange = [];\n\t this.decadeRange = [];\n\t var time = {\n\t year: this.currDate.getFullYear(),\n\t month: this.currDate.getMonth(),\n\t day: this.currDate.getDate()\n\t };\n\t var yearStr = time.year.toString();\n\t var firstYearOfDecade = yearStr.substring(0, yearStr.length - 1) + 0 - 1;\n\t for (var i = 0; i < 12; i++) {\n\t this.decadeRange.push({\n\t text: firstYearOfDecade + i\n\t });\n\t }\n\t\n\t var currMonthFirstDay = new Date(time.year, time.month, 1);\n\t var firstDayWeek = currMonthFirstDay.getDay() + 1;\n\t if (firstDayWeek === 0) {\n\t firstDayWeek = 7;\n\t }\n\t var dayCount = this.getDayCount(time.year, time.month);\n\t if (firstDayWeek > 1) {\n\t var preMonth = this.getYearMonth(time.year, time.month - 1);\n\t var prevMonthDayCount = this.getDayCount(preMonth.year, preMonth.month);\n\t for (var _i = 1; _i < firstDayWeek; _i++) {\n\t var dayText = prevMonthDayCount - firstDayWeek + _i + 1;\n\t var date = new Date(preMonth.year, preMonth.month, dayText);\n\t var sclass = 'datepicker-item-gray';\n\t if (this.disabledDaysArray.indexOf(date.getDay()) > -1) {\n\t sclass = 'datepicker-item-disable';\n\t }\n\t this.dateRange.push({ text: dayText, date: date, sclass: sclass });\n\t }\n\t }\n\t\n\t for (var _i2 = 1; _i2 <= dayCount; _i2++) {\n\t var _date = new Date(time.year, time.month, _i2);\n\t var _sclass = '';\n\t if (this.disabledDaysArray.indexOf(_date.getDay()) > -1) {\n\t _sclass = 'datepicker-item-disable';\n\t }\n\t if (_i2 == time.day && _date.getFullYear() == time.year && _date.getMonth() == time.month) {\n\t _sclass = 'datepicker-dateRange-item-active';\n\t }\n\t this.dateRange.push({ text: _i2, date: _date, sclass: _sclass });\n\t }\n\t\n\t if (this.dateRange.length < 42) {\n\t var nextMonthNeed = 42 - this.dateRange.length;\n\t var nextMonth = this.getYearMonth(time.year, time.month + 1);\n\t\n\t for (var _i3 = 1; _i3 <= nextMonthNeed; _i3++) {\n\t var _date2 = new Date(nextMonth.year, nextMonth.month, _i3);\n\t var _sclass2 = 'datepicker-item-gray';\n\t if (this.disabledDaysArray.indexOf(_date2.getDay()) > -1) {\n\t _sclass2 = 'datepicker-item-disable';\n\t }\n\t this.dateRange.push({ text: _i3, date: _date2, sclass: _sclass2 });\n\t }\n\t }\n\t }\n\t },\n\t mounted: function mounted() {\n\t var _this = this;\n\t\n\t this.$emit('child-created', this);\n\t this.currDate = this.parse(this.val) || this.parse(new Date());\n\t this._blur = function (e) {\n\t if (!_this.$el.contains(e.target)) _this.close();\n\t };\n\t window.addEventListener('click', this._blur);\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t window.removeEventListener('click', this._blur);\n\t }\n\t}; //\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t staticClass: \"datepicker\"\n\t }, [_c('input', {\n\t directives: [{\n\t name: \"model\",\n\t rawName: \"v-model\",\n\t value: (_vm.val),\n\t expression: \"val\"\n\t }],\n\t staticClass: \"form-control datepicker-input\",\n\t class: {\n\t 'with-reset-button': _vm.clearButton\n\t },\n\t style: ({\n\t width: _vm.width\n\t }),\n\t attrs: {\n\t \"type\": \"text\",\n\t \"name\": _vm.name,\n\t \"placeholder\": _vm.placeholder\n\t },\n\t domProps: {\n\t \"value\": (_vm.val)\n\t },\n\t on: {\n\t \"click\": _vm.inputClick,\n\t \"input\": function($event) {\n\t if ($event.target.composing) { return; }\n\t _vm.val = $event.target.value\n\t }\n\t }\n\t }), _vm._v(\" \"), (_vm.clearButton && _vm.val) ? _c('button', {\n\t staticClass: \"close\",\n\t attrs: {\n\t \"type\": \"button\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.val = ''\n\t }\n\t }\n\t }, [_c('span', [_vm._v(\"×\")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n\t directives: [{\n\t name: \"show\",\n\t rawName: \"v-show\",\n\t value: (_vm.displayDayView),\n\t expression: \"displayDayView\"\n\t }],\n\t staticClass: \"datepicker-popup\"\n\t }, [_c('div', {\n\t staticClass: \"datepicker-inner\"\n\t }, [_c('div', {\n\t staticClass: \"datepicker-body\"\n\t }, [_c('div', {\n\t staticClass: \"datepicker-ctrl\"\n\t }, [_c('span', {\n\t class: _vm.preBtnClasses,\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.preNextMonthClick(0)\n\t }\n\t }\n\t }), _vm._v(\" \"), _c('span', {\n\t class: _vm.nextBtnClasses,\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.preNextMonthClick(1)\n\t }\n\t }\n\t }), _vm._v(\" \"), _c('p', {\n\t on: {\n\t \"click\": _vm.switchMonthView\n\t }\n\t }, [_vm._v(_vm._s(_vm.stringifyDayHeader(_vm.currDate)))])]), _vm._v(\" \"), _c('div', {\n\t staticClass: \"datepicker-weekRange\"\n\t }, _vm._l((_vm.text.daysOfWeek), function(w) {\n\t return _c('span', [_vm._v(_vm._s(w))])\n\t })), _vm._v(\" \"), _c('div', {\n\t staticClass: \"datepicker-dateRange\"\n\t }, _vm._l((_vm.dateRange), function(d) {\n\t return _c('span', {\n\t class: d.sclass,\n\t on: {\n\t \"click\": function($event) {\n\t _vm.daySelect(d)\n\t }\n\t }\n\t }, [_vm._v(_vm._s(d.text))])\n\t }))])])]), _vm._v(\" \"), _c('div', {\n\t directives: [{\n\t name: \"show\",\n\t rawName: \"v-show\",\n\t value: (_vm.displayMonthView),\n\t expression: \"displayMonthView\"\n\t }],\n\t staticClass: \"datepicker-popup\"\n\t }, [_c('div', {\n\t staticClass: \"datepicker-inner\"\n\t }, [_c('div', {\n\t staticClass: \"datepicker-body\"\n\t }, [_c('div', {\n\t staticClass: \"datepicker-ctrl\"\n\t }, [_c('span', {\n\t class: _vm.preBtnClasses,\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.preNextYearClick(0)\n\t }\n\t }\n\t }), _vm._v(\" \"), _c('span', {\n\t class: _vm.nextBtnClasses,\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.preNextYearClick(1)\n\t }\n\t }\n\t }), _vm._v(\" \"), _c('p', {\n\t on: {\n\t \"click\": _vm.switchDecadeView\n\t }\n\t }, [_vm._v(_vm._s(_vm.stringifyYearHeader(_vm.currDate)))])]), _vm._v(\" \"), _c('div', {\n\t staticClass: \"datepicker-monthRange\"\n\t }, [_vm._l((_vm.text.months), function(m, index) {\n\t return [_c('span', {\n\t class: {\n\t 'datepicker-dateRange-item-active':\n\t (_vm.text.months[_vm.parse(_vm.val).getMonth()] === m) &&\n\t _vm.currDate.getFullYear() === _vm.parse(_vm.val).getFullYear()\n\t },\n\t domProps: {\n\t \"textContent\": _vm._s(m.substr(0, 3))\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.monthSelect(index)\n\t }\n\t }\n\t })]\n\t })], 2)])])]), _vm._v(\" \"), _c('div', {\n\t directives: [{\n\t name: \"show\",\n\t rawName: \"v-show\",\n\t value: (_vm.displayYearView),\n\t expression: \"displayYearView\"\n\t }],\n\t staticClass: \"datepicker-popup\"\n\t }, [_c('div', {\n\t staticClass: \"datepicker-inner\"\n\t }, [_c('div', {\n\t staticClass: \"datepicker-body\"\n\t }, [_c('div', {\n\t staticClass: \"datepicker-ctrl\"\n\t }, [_c('span', {\n\t class: _vm.preBtnClasses,\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.preNextDecadeClick(0)\n\t }\n\t }\n\t }), _vm._v(\" \"), _c('span', {\n\t class: _vm.nextBtnClasses,\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.preNextDecadeClick(1)\n\t }\n\t }\n\t }), _vm._v(\" \"), _c('p', [_vm._v(_vm._s(_vm.stringifyDecadeHeader(_vm.currDate)))])]), _vm._v(\" \"), _c('div', {\n\t staticClass: \"datepicker-monthRange decadeRange\"\n\t }, [_vm._l((_vm.decadeRange), function(decade) {\n\t return [_c('span', {\n\t class: {\n\t 'datepicker-dateRange-item-active': _vm.parse(_vm.val).getFullYear() === decade.text\n\t },\n\t domProps: {\n\t \"textContent\": _vm._s(decade.text)\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t $event.stopPropagation();\n\t _vm.yearSelect(decade.text)\n\t }\n\t }\n\t })]\n\t })], 2)])])])])\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(106)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(107)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Dropdown.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Dropdown.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _NodeList = __webpack_require__(1);\n\t\n\tvar _NodeList2 = _interopRequireDefault(_NodeList);\n\t\n\tvar _ClickOutside = __webpack_require__(66);\n\t\n\tvar _ClickOutside2 = _interopRequireDefault(_ClickOutside);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\texports.default = {\n\t directives: {\n\t ClickOutside: _ClickOutside2.default\n\t },\n\t props: {\n\t disabled: { type: Boolean, default: false },\n\t size: { type: String, default: null },\n\t text: { type: String, default: null },\n\t type: { type: String, default: 'default' },\n\t value: { type: Boolean, default: false }\n\t },\n\t data: function data() {\n\t var show = this.value;\n\t return { show: show };\n\t },\n\t\n\t watch: {\n\t show: function show(val) {\n\t this.$emit('input', val);\n\t },\n\t value: function value(val) {\n\t this.show = val;\n\t }\n\t },\n\t computed: {\n\t buttonSize: function buttonSize() {\n\t return ~['lg', 'sm', 'xs'].indexOf(this.size) ? 'btn-' + this.size : '';\n\t },\n\t inInput: function inInput() {\n\t return this.$parent._input;\n\t },\n\t isLi: function isLi() {\n\t return this.$parent._isTabs || this.$parent._navbar || this.$parent.menu;\n\t },\n\t menu: function menu() {\n\t return !this.$parent || this.$parent.navbar;\n\t },\n\t slots: function slots() {\n\t return this._slotContents;\n\t },\n\t submenu: function submenu() {\n\t return this.$parent && (this.$parent.menu || this.$parent.submenu);\n\t }\n\t },\n\t methods: {\n\t blur: function blur() {\n\t this.show = false;\n\t },\n\t toggle: function toggle() {\n\t if (!this.disabled) {\n\t this.show = !this.show;\n\t }\n\t }\n\t },\n\t mounted: function mounted() {\n\t var _this = this;\n\t\n\t (0, _NodeList2.default)('ul', this.$el).on('click', 'li>a', function (e) {\n\t _this.show = false;\n\t });\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t (0, _NodeList2.default)('ul', this.$el).off();\n\t }\n\t};\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c(_vm.isLi ? 'li' : 'div', {\n\t directives: [{\n\t name: \"click-outside\",\n\t rawName: \"v-click-outside\",\n\t value: (_vm.blur),\n\t expression: \"blur\"\n\t }],\n\t tag: \"div\",\n\t class: [{\n\t open: _vm.show,\n\t disabled: _vm.disabled,\n\t dropdown: _vm.isLi,\n\t 'input-group-btn': _vm.inInput,\n\t 'btn-group': !_vm.isLi && !_vm.inInput\n\t }]\n\t }, [_vm._t(\"before\"), _vm._v(\" \"), (_vm.isLi) ? _c('a', {\n\t class: ['dropdown-toggle', _vm.buttonSize, {\n\t disabled: _vm.disabled\n\t }],\n\t attrs: {\n\t \"role\": \"button\"\n\t },\n\t on: {\n\t \"keyup\": function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"esc\", 27)) { return null; }\n\t _vm.show = false\n\t },\n\t \"click\": function($event) {\n\t $event.preventDefault();\n\t _vm.toggle($event)\n\t }\n\t }\n\t }, [_vm._t(\"button\", [_vm._v(_vm._s(_vm.text))]), _vm._v(\" \"), _c('span', {\n\t staticClass: \"caret\"\n\t })], 2) : _c('button', {\n\t class: ['btn btn-' + _vm.type, _vm.buttonSize, 'dropdown-toggle'],\n\t attrs: {\n\t \"type\": \"button\",\n\t \"disabled\": _vm.disabled\n\t },\n\t on: {\n\t \"keyup\": function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"esc\", 27)) { return null; }\n\t _vm.show = false\n\t },\n\t \"click\": function($event) {\n\t $event.preventDefault();\n\t _vm.toggle($event)\n\t }\n\t }\n\t }, [_vm._t(\"button\", [_vm._v(_vm._s(_vm.text))]), _vm._v(\" \"), _c('span', {\n\t staticClass: \"caret\"\n\t })], 2), _vm._v(\" \"), _vm._t(\"dropdown-menu\", [_c('ul', {\n\t staticClass: \"dropdown-menu\"\n\t }, [_vm._t(\"default\")], 2)])], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(109)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(110)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/FormGroup.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] FormGroup.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _NodeList = __webpack_require__(1);\n\t\n\tvar _NodeList2 = _interopRequireDefault(_NodeList);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t// let coerce = {\n\t// enterSubmit: 'boolean',\n\t// icon: 'boolean'\n\t// }\n\t\n\texports.default = {\n\t props: {\n\t enterSubmit: {\n\t type: Boolean,\n\t default: false\n\t },\n\t icon: {\n\t type: Boolean,\n\t default: false\n\t },\n\t lang: {\n\t type: String,\n\t default: navigator.language\n\t }\n\t },\n\t data: function data() {\n\t return {\n\t children: [],\n\t valid: null,\n\t timeout: null\n\t };\n\t },\n\t\n\t watch: {\n\t valid: function valid(val, old) {\n\t this.$emit('isvalid', val);\n\t this.$emit(!val ? 'invalid' : 'valid');\n\t if (val !== old && this._parent) this._parent.validate();\n\t }\n\t },\n\t methods: {\n\t validate: function validate() {\n\t var valid = true;\n\t this.children.some(function (el) {\n\t var v = el.validate ? el.validate() : el.valid !== undefined ? el.valid : el.required && !~['', null, undefined].indexOf(el.value);\n\t if (!v) valid = false;\n\t return !valid;\n\t });\n\t this.valid = valid;\n\t return valid === true;\n\t }\n\t },\n\t created: function created() {\n\t this._formGroup = true;\n\t var parent = this.$parent;\n\t while (parent && !parent._formGroup) {\n\t parent = parent.$parent;\n\t }\n\t if (parent && parent._formGroup) {\n\t parent.children.push(this);\n\t this._parent = parent;\n\t }\n\t },\n\t mounted: function mounted() {\n\t this.validate();\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t if (this._parent) {\n\t var index = this._parent.children.indexOf(this);\n\t this._parent.children.splice(index, 1);\n\t }\n\t }\n\t}; //\n\t//\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('span', [_vm._t(\"default\")], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(112)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(113)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/FormValidator.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] FormValidator.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _NodeList = __webpack_require__(1);\n\t\n\tvar _NodeList2 = _interopRequireDefault(_NodeList);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t props: {\n\t enterSubmit: { type: Boolean, default: false },\n\t icon: { type: Boolean, default: false },\n\t lang: { type: String, default: navigator.language },\n\t value: null\n\t },\n\t data: function data() {\n\t return {\n\t children: [],\n\t valid: null,\n\t timeout: null\n\t };\n\t },\n\t\n\t watch: {\n\t valid: function valid(val, old) {\n\t this.$emit('isvalid', val);\n\t this.$emit('input', val);\n\t this.$emit(!val ? 'invalid' : 'valid');\n\t if (val !== old && this._parent) this._parent.validate();\n\t }\n\t },\n\t methods: {\n\t validate: function validate() {\n\t var invalid = !this.children.every(function (el) {\n\t return el.validate ? el.validate() : el.valid !== undefined ? el.valid : el.required && !~['', null, undefined].indexOf(el.value);\n\t });\n\t this.valid = !invalid;\n\t return !invalid;\n\t }\n\t },\n\t created: function created() {\n\t this._formValidator = true;\n\t var parent = this.$parent;\n\t while (parent && !parent._formValidator) {\n\t parent = parent.$parent;\n\t }\n\t if (parent && parent._formValidator) {\n\t parent.children.push(this);\n\t this._parent = parent;\n\t }\n\t },\n\t mounted: function mounted() {\n\t this.validate();\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t if (this._parent) {\n\t var index = this._parent.children.indexOf(this);\n\t this._parent.children.splice(index, 1);\n\t }\n\t }\n\t}; //\n\t//\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('span', [_vm._t(\"default\")], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(115)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(117)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(118)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Input.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t__vue_options__._scopeId = \"data-v-24ab6e00\"\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Input.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(65);\n\t\n\tvar _NodeList = __webpack_require__(1);\n\t\n\tvar _NodeList2 = _interopRequireDefault(_NodeList);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\tvar DELAY = 300;\n\t\n\texports.default = {\n\t props: {\n\t clearButton: { type: Boolean, default: false },\n\t cols: { type: Number, default: null },\n\t datalist: { type: Array, default: null },\n\t disabled: { type: Boolean, default: false },\n\t enterSubmit: { type: Boolean, default: false },\n\t error: { type: String, default: null },\n\t help: { type: String, default: null },\n\t hideHelp: { type: Boolean, default: true },\n\t icon: { type: Boolean, default: false },\n\t label: { type: String, default: null },\n\t lang: { type: String, default: navigator.language },\n\t mask: null,\n\t maskDelay: { type: Number, default: 100 },\n\t match: { type: String, default: null },\n\t max: { type: String, default: null },\n\t maxlength: { type: Number, default: null },\n\t min: { type: String, default: null },\n\t minlength: { type: Number, default: 0 },\n\t name: { type: String, default: null },\n\t pattern: { default: null },\n\t placeholder: { type: String, default: null },\n\t readonly: { type: Boolean, default: false },\n\t required: { type: Boolean, default: false },\n\t rows: { type: Number, default: 3 },\n\t step: { type: Number, default: null },\n\t type: { type: String, default: 'text' },\n\t url: { type: String, default: null },\n\t urlMap: { type: Function, default: null },\n\t validationDelay: { type: Number, default: 250 },\n\t value: { default: null }\n\t },\n\t data: function data() {\n\t var val = this.value;\n\t return {\n\t options: this.datalist,\n\t val: val,\n\t valid: null,\n\t timeout: null\n\t };\n\t },\n\t\n\t computed: {\n\t canValidate: function canValidate() {\n\t return !this.disabled && !this.readonly && (this.required || this.regex || this.nativeValidate || this.match !== null);\n\t },\n\t errorText: function errorText() {\n\t var value = this.value;\n\t var error = [this.error];\n\t if (!value && this.required) error.push('(' + this.text.required.toLowerCase() + ')');\n\t if (value && value.length < this.minlength) error.push('(' + this.text.minLength.toLowerCase() + ': ' + this.minlength + ')');\n\t return error.join(' ');\n\t },\n\t id_datalist: function id_datalist() {\n\t if (this.type !== 'textarea' && this.datalist instanceof Array) {\n\t if (!this._id_datalist) {\n\t if (!this.$root.id_datalist) {\n\t this.$root.id_datalist = 0;\n\t }\n\t this._id_datalist = 'input-datalist' + this.$root.id_datalist++;\n\t }\n\t return this._id_datalist;\n\t }\n\t return null;\n\t },\n\t input: function input() {\n\t return this.$refs.input;\n\t },\n\t nativeValidate: function nativeValidate() {\n\t return (this.input || {}).checkValidity && (~['url', 'email'].indexOf(this.type.toLowerCase()) || this.min || this.max);\n\t },\n\t regex: function regex() {\n\t return _utils.coerce.pattern(this.pattern);\n\t },\n\t showError: function showError() {\n\t return this.error && this.valid === false;\n\t },\n\t showHelp: function showHelp() {\n\t return this.help && (!this.showError || !this.hideHelp);\n\t },\n\t text: function text() {\n\t return (0, _utils.translations)(this.lang);\n\t },\n\t title: function title() {\n\t return this.errorText || this.help || '';\n\t }\n\t },\n\t watch: {\n\t datalist: function datalist(val, old) {\n\t if (val !== old && val instanceof Array) {\n\t this.options = val;\n\t }\n\t },\n\t match: function match(val) {\n\t this.eval();\n\t },\n\t options: function options(val, old) {\n\t if (val !== old) this.$emit('options', val);\n\t },\n\t url: function url(val) {\n\t this._url();\n\t },\n\t val: function val(_val, old) {\n\t var _this = this;\n\t\n\t this.$emit('input', _val);\n\t if (_val !== old) {\n\t if (this.mask instanceof Function) {\n\t _val = this.mask(_val || '');\n\t if (this.val !== _val) {\n\t if (this._timeout.mask) clearTimeout(this._timeout.mask);\n\t this._timeout.mask = setTimeout(function () {\n\t _this.val = _val;\n\t }, isNaN(this.maskDelay) ? 0 : this.maskDelay);\n\t }\n\t }\n\t this.eval();\n\t }\n\t },\n\t valid: function valid(val, old) {\n\t this.$emit('isvalid', val);\n\t this.$emit(!val ? 'invalid' : 'valid');\n\t if (this._parent) this._parent.validate();\n\t },\n\t value: function value(val) {\n\t if (this.val !== val) {\n\t this.val = val;\n\t }\n\t }\n\t },\n\t methods: {\n\t attr: function attr(value) {\n\t return ~['', null, undefined].indexOf(value) || value instanceof Function ? null : value;\n\t },\n\t emit: function emit(e) {\n\t this.$emit(e.type, e.type == 'input' ? e.target.value : e);\n\t if (e.type === 'blur' && this.canValidate) {\n\t this.valid = this.validate();\n\t }\n\t },\n\t eval: function _eval() {\n\t var _this2 = this;\n\t\n\t if (this._timeout.eval) clearTimeout(this._timeout.eval);\n\t if (!this.canValidate) {\n\t this.valid = true;\n\t } else {\n\t this._timeout.eval = setTimeout(function () {\n\t _this2.valid = _this2.validate();\n\t _this2._timeout.eval = null;\n\t }, this.validationDelay);\n\t }\n\t },\n\t focus: function focus() {\n\t this.input.focus();\n\t },\n\t submit: function submit() {\n\t if (this.$parent._formValidator) {\n\t return this.$parent.validate();\n\t }\n\t if (this.input.form) {\n\t var invalids = (0, _NodeList2.default)('.form-group.validate:not(.has-success)', this.input.form);\n\t if (invalids.length) {\n\t invalids.find('input,textarea,select')[0].focus();\n\t } else {\n\t this.input.form.submit();\n\t }\n\t }\n\t },\n\t validate: function validate() {\n\t if (!this.canValidate) {\n\t return true;\n\t }\n\t var value = (this.val || '').trim();\n\t if (!value) {\n\t return !this.required;\n\t }\n\t if (this.match !== null) {\n\t return this.match === value;\n\t }\n\t if (value.length < this.minlength) {\n\t return false;\n\t }\n\t if (this.nativeValidate && !this.input.checkValidity()) {\n\t return false;\n\t }\n\t if (this.regex) {\n\t if (!(this.regex instanceof Function ? this.regex(this.val) : this.regex.test(this.val))) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t },\n\t reset: function reset() {\n\t this.value = '';\n\t this.valid = null;\n\t if (this._timeout.mask) clearTimeout(this._timeout.mask);\n\t if (this._timeout.eval) clearTimeout(this._timeout.eval);\n\t }\n\t },\n\t created: function created() {\n\t this._input = true;\n\t this._timeout = {};\n\t var parent = this.$parent;\n\t while (parent && !parent._formValidator) {\n\t parent = parent.$parent;\n\t }\n\t if (parent && parent._formValidator) {\n\t parent.children.push(this);\n\t this._parent = parent;\n\t }\n\t this._url = (0, _utils.delayer)(function () {\n\t var _this3 = this;\n\t\n\t if (!this.url || !this.$http || this._loading) {\n\t return;\n\t }\n\t this._loading = true;\n\t this.$http.get(this.url).then(function (response) {\n\t var data = response.data instanceof Array ? response.data : [];\n\t try {\n\t data = JSON.parse(data);\n\t } catch (e) {}\n\t if (_this3.urlMap) {\n\t data = data.map(_this3.urlMap);\n\t }\n\t _this3.options = data;\n\t _this3.loading = false;\n\t }, function (response) {\n\t _this3.loading = false;\n\t });\n\t }, DELAY);\n\t if (this.url) this._url();\n\t },\n\t mounted: function mounted() {\n\t // $(this.input).on('focus', e => { this.$emit('focus', e) }).on('blur', e => {\n\t // if (this.canValidate) { this.valid = this.validate() }\n\t // this.$emit('blur', e)\n\t // })\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t // $(this.input).off()\n\t if (this._parent) {\n\t var index = this._parent.children.indexOf(this);\n\t this._parent.children.splice(index, 1);\n\t }\n\t }\n\t};\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t staticClass: \"form-group\",\n\t class: {\n\t validate: _vm.canValidate, 'has-feedback': _vm.icon, 'has-error': _vm.canValidate && _vm.valid === false, 'has-success': _vm.canValidate && _vm.valid\n\t }\n\t }, [_vm._t(\"label\", [(_vm.label) ? _c('label', {\n\t staticClass: \"control-label\",\n\t on: {\n\t \"click\": _vm.focus\n\t }\n\t }, [_vm._v(_vm._s(_vm.label))]) : _vm._e()]), _vm._v(\" \"), (_vm.$slots.before || _vm.$slots.after) ? _c('div', {\n\t staticClass: \"input-group\"\n\t }, [_vm._t(\"before\"), _vm._v(\" \"), _c(_vm.type == 'textarea' ? _vm.type : 'input', {\n\t directives: [{\n\t name: \"model\",\n\t rawName: \"v-model\",\n\t value: (_vm.val),\n\t expression: \"val\"\n\t }],\n\t ref: \"input\",\n\t tag: \"textarea\",\n\t staticClass: \"form-control\",\n\t attrs: {\n\t \"cols\": _vm.cols,\n\t \"disabled\": _vm.disabled,\n\t \"list\": _vm.id_datalist,\n\t \"max\": _vm.attr(_vm.max),\n\t \"maxlength\": _vm.maxlength,\n\t \"min\": _vm.attr(_vm.min),\n\t \"name\": _vm.name,\n\t \"placeholder\": _vm.placeholder,\n\t \"readonly\": _vm.readonly,\n\t \"required\": _vm.required,\n\t \"rows\": _vm.rows,\n\t \"step\": _vm.step,\n\t \"title\": _vm.attr(_vm.title),\n\t \"type\": _vm.type == 'textarea' ? null : _vm.type\n\t },\n\t domProps: {\n\t \"value\": (_vm.val)\n\t },\n\t on: {\n\t \"blur\": _vm.emit,\n\t \"focus\": _vm.emit,\n\t \"input\": [function($event) {\n\t if ($event.target.composing) { return; }\n\t _vm.val = $event.target.value\n\t }, _vm.emit],\n\t \"keyup\": function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n\t _vm.type != 'textarea' && _vm.enterSubmit && _vm.submit()\n\t }\n\t }\n\t }), _vm._v(\" \"), (_vm.clearButton && _vm.value) ? _c('div', {\n\t class: {\n\t icon: _vm.icon\n\t }\n\t }, [_c('span', {\n\t staticClass: \"close\",\n\t on: {\n\t \"click\": function($event) {\n\t _vm.value = ''\n\t }\n\t }\n\t }, [_vm._v(\"×\")])]) : _vm._e(), _vm._v(\" \"), (_vm.icon) ? _c('div', {\n\t staticClass: \"icon\"\n\t }, [(_vm.icon && _vm.valid !== null) ? _c('span', {\n\t class: ['form-control-feedback glyphicon', 'glyphicon-' + (_vm.valid ? 'ok' : 'remove')],\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t }\n\t }) : _vm._e()]) : _vm._e(), _vm._v(\" \"), _vm._t(\"after\")], 2) : [_c(_vm.type == 'textarea' ? _vm.type : 'input', {\n\t directives: [{\n\t name: \"model\",\n\t rawName: \"v-model\",\n\t value: (_vm.val),\n\t expression: \"val\"\n\t }],\n\t ref: \"input\",\n\t tag: \"textarea\",\n\t staticClass: \"form-control\",\n\t attrs: {\n\t \"cols\": _vm.cols,\n\t \"disabled\": _vm.disabled,\n\t \"list\": _vm.id_datalist,\n\t \"max\": _vm.attr(_vm.max),\n\t \"maxlength\": _vm.maxlength,\n\t \"min\": _vm.attr(_vm.min),\n\t \"name\": _vm.name,\n\t \"placeholder\": _vm.placeholder,\n\t \"readonly\": _vm.readonly,\n\t \"required\": _vm.required,\n\t \"rows\": _vm.rows,\n\t \"step\": _vm.step,\n\t \"title\": _vm.attr(_vm.title),\n\t \"type\": _vm.type == 'textarea' ? null : _vm.type\n\t },\n\t domProps: {\n\t \"value\": (_vm.val)\n\t },\n\t on: {\n\t \"blur\": _vm.emit,\n\t \"focus\": _vm.emit,\n\t \"input\": [function($event) {\n\t if ($event.target.composing) { return; }\n\t _vm.val = $event.target.value\n\t }, _vm.emit],\n\t \"keyup\": function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n\t _vm.type != 'textarea' && _vm.enterSubmit && _vm.submit()\n\t }\n\t }\n\t }), _vm._v(\" \"), (_vm.clearButton && _vm.val) ? _c('span', {\n\t staticClass: \"close\",\n\t on: {\n\t \"click\": function($event) {\n\t _vm.val = ''\n\t }\n\t }\n\t }, [_vm._v(\"×\")]) : _vm._e(), _vm._v(\" \"), (_vm.icon && _vm.valid !== null) ? _c('span', {\n\t class: ['form-control-feedback glyphicon', 'glyphicon-' + (_vm.valid ? 'ok' : 'remove')],\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t }\n\t }) : _vm._e()], _vm._v(\" \"), (_vm.id_datalist) ? _c('datalist', {\n\t attrs: {\n\t \"id\": _vm.id_datalist\n\t }\n\t }, _vm._l((_vm.options), function(opc) {\n\t return _c('option', {\n\t domProps: {\n\t \"value\": opc\n\t }\n\t })\n\t })) : _vm._e(), _vm._v(\" \"), (_vm.showHelp) ? _c('div', {\n\t staticClass: \"help-block\",\n\t on: {\n\t \"click\": _vm.focus\n\t }\n\t }, [_vm._v(_vm._s(_vm.help))]) : _vm._e(), _vm._v(\" \"), (_vm.showError) ? _c('div', {\n\t staticClass: \"help-block with-errors\",\n\t on: {\n\t \"click\": _vm.focus\n\t }\n\t }, [_vm._v(_vm._s(_vm.errorText))]) : _vm._e()], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(120)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(122)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(127)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Modal.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Modal.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _isInteger = __webpack_require__(123);\n\t\n\tvar _isInteger2 = _interopRequireDefault(_isInteger);\n\t\n\tvar _utils = __webpack_require__(65);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t props: {\n\t backdrop: { type: Boolean, default: true },\n\t callback: { type: Function, default: null },\n\t cancelText: { type: String, default: 'Close' },\n\t effect: { type: String, default: null },\n\t large: { type: Boolean, default: false },\n\t okText: { type: String, default: 'Save changes' },\n\t small: { type: Boolean, default: false },\n\t title: { type: String, default: '' },\n\t value: { type: Boolean, required: true },\n\t width: { default: null }\n\t },\n\t data: function data() {\n\t return {\n\t transition: false,\n\t val: null\n\t };\n\t },\n\t\n\t computed: {\n\t optionalWidth: function optionalWidth() {\n\t if (this.width === null) {\n\t return null;\n\t } else if ((0, _isInteger2.default)(this.width)) {\n\t return this.width + 'px';\n\t }\n\t return this.width;\n\t }\n\t },\n\t watch: {\n\t transition: function transition(val, old) {\n\t if (val === old) {\n\t return;\n\t }\n\t var el = this.$el;\n\t var body = document.body;\n\t if (val) {\n\t //starting\n\t if (this.val) {\n\t el.querySelector('.modal-content').focus();\n\t el.style.display = 'block';\n\t setTimeout(function () {\n\t return el.classList.add('in');\n\t }, 0);\n\t body.classList.add('modal-open');\n\t if ((0, _utils.getScrollBarWidth)() !== 0) {\n\t body.style.paddingRight = (0, _utils.getScrollBarWidth)() + 'px';\n\t }\n\t } else {\n\t el.classList.remove('in');\n\t }\n\t } else {\n\t //ending\n\t this.$emit(this.val ? 'opened' : 'closed');\n\t if (!this.val) {\n\t el.style.display = 'none';\n\t body.style.paddingRight = null;\n\t body.classList.remove('modal-open');\n\t }\n\t }\n\t },\n\t val: function val(_val, old) {\n\t this.$emit('input', _val);\n\t if (old === null ? _val === true : _val !== old) this.transition = true;\n\t },\n\t value: function value(val, old) {\n\t if (val !== old) this.val = val;\n\t }\n\t },\n\t methods: {\n\t action: function action(val, p) {\n\t if (val === null) {\n\t return;\n\t }\n\t if (val && this.callback instanceof Function) this.callback();\n\t this.$emit(val ? 'ok' : 'cancel', p);\n\t this.val = val || false;\n\t }\n\t },\n\t mounted: function mounted() {\n\t this.val = this.value;\n\t }\n\t}; //\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(124), __esModule: true };\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(125);\n\tmodule.exports = __webpack_require__(7).Number.isInteger;\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.3 Number.isInteger(number)\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Number', {isInteger: __webpack_require__(126)});\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.3 Number.isInteger(number)\n\tvar isObject = __webpack_require__(13)\n\t , floor = Math.floor;\n\tmodule.exports = function isInteger(it){\n\t return !isObject(it) && isFinite(it) && floor(it) === it;\n\t};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t class: ['modal', _vm.effect],\n\t attrs: {\n\t \"role\": \"dialog\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.backdrop && _vm.action(false, 1)\n\t },\n\t \"transitionend\": function($event) {\n\t _vm.transition = false\n\t }\n\t }\n\t }, [_c('div', {\n\t class: ['modal-dialog', {\n\t 'modal-lg': _vm.large,\n\t 'modal-sm': _vm.small\n\t }],\n\t style: ({\n\t width: _vm.optionalWidth\n\t }),\n\t attrs: {\n\t \"role\": \"document\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t $event.stopPropagation();\n\t _vm.action(null)\n\t }\n\t }\n\t }, [_c('div', {\n\t staticClass: \"modal-content\"\n\t }, [_vm._t(\"modal-header\", [_c('div', {\n\t staticClass: \"modal-header\"\n\t }, [_c('button', {\n\t staticClass: \"close\",\n\t attrs: {\n\t \"type\": \"button\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.action(false, 2)\n\t }\n\t }\n\t }, [_c('span', [_vm._v(\"×\")])]), _vm._v(\" \"), _c('h4', {\n\t staticClass: \"modal-title\"\n\t }, [_vm._t(\"title\", [_vm._v(_vm._s(_vm.title))])], 2)])]), _vm._v(\" \"), _vm._t(\"modal-body\", [_c('div', {\n\t staticClass: \"modal-body\"\n\t }, [_vm._t(\"default\")], 2)]), _vm._v(\" \"), _vm._t(\"modal-footer\", [_c('div', {\n\t staticClass: \"modal-footer\"\n\t }, [_c('button', {\n\t staticClass: \"btn btn-default\",\n\t attrs: {\n\t \"type\": \"button\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.action(false, 3)\n\t }\n\t }\n\t }, [_vm._v(_vm._s(_vm.cancelText))]), _vm._v(\" \"), _c('button', {\n\t staticClass: \"btn btn-primary\",\n\t attrs: {\n\t \"type\": \"button\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.action(true, 4)\n\t }\n\t }\n\t }, [_vm._v(_vm._s(_vm.okText))])])])], 2)])])\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(129)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(130)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Navbar.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Navbar.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _NodeList = __webpack_require__(1);\n\t\n\tvar _NodeList2 = _interopRequireDefault(_NodeList);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t props: {\n\t type: { type: String, default: 'default' },\n\t placement: { type: String, default: '' },\n\t container: { type: String, default: '' }\n\t },\n\t data: function data() {\n\t return {\n\t id: 'bs-example-navbar-collapse-1',\n\t collapsed: true,\n\t styles: {}\n\t };\n\t },\n\t\n\t computed: {\n\t slots: function slots() {\n\t return this._slotContents;\n\t }\n\t },\n\t methods: {\n\t toggleCollapse: function toggleCollapse(e) {\n\t e && e.preventDefault();\n\t this.collapsed = !this.collapsed;\n\t }\n\t },\n\t created: function created() {\n\t this._navbar = true;\n\t },\n\t mounted: function mounted() {\n\t var _this = this;\n\t\n\t try {\n\t var $dropdown = (0, _NodeList2.default)('.dropdown>[data-toggle=\"dropdown\"]', this.$el).parent();\n\t if ($dropdown) {\n\t $dropdown.on('click', '.dropdown-toggle', function (e) {\n\t e.preventDefault();\n\t $dropdown.each(function (content) {\n\t if (content.contains(e.target)) content.classList.toggle('open');\n\t });\n\t }).on('click', '.dropdown-menu>li>a', function (e) {\n\t $dropdown.each(function (content) {\n\t if (content.contains(e.target)) content.classList.remove('open');\n\t });\n\t }).onBlur(function (e) {\n\t $dropdown.each(function (content) {\n\t if (!content.contains(e.target)) content.classList.remove('open');\n\t });\n\t });\n\t }\n\t } catch (ex) {\n\t console.log('error finding dropdown');\n\t }\n\t\n\t (0, _NodeList2.default)(this.$el).on('click touchstart', 'li:not(.dropdown)>a', function (e) {\n\t setTimeout(function () {\n\t _this.collapsed = true;\n\t }, 200);\n\t }).onBlur(function (e) {\n\t if (!_this.$el.contains(e.target)) {\n\t _this.collapsed = true;\n\t }\n\t });\n\t var height = this.$el.offsetHeight;\n\t if (this.placement === 'top') {\n\t document.body.style.paddingTop = height + 'px';\n\t }\n\t if (this.placement === 'bottom') {\n\t document.body.style.paddingBottom = height + 'px';\n\t }\n\t if (this.$slots.collapse) (0, _NodeList2.default)('[data-toggle=\"collapse\"]', this.$el).on('click', function (e) {\n\t return _this.toggleCollapse(e);\n\t });\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t (0, _NodeList2.default)('.dropdown', this.$el).off('click').offBlur();\n\t if (this.$slots.collapse) (0, _NodeList2.default)('[data-toggle=\"collapse\"]', this.$el).off('click');\n\t }\n\t}; //\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('nav', {\n\t class: ['navbar', 'navbar-' + _vm.type, _vm.placement === 'static' ? 'navbar-static-top' : 'navbar-fixed-' + _vm.placement]\n\t }, [_c('div', {\n\t class: _vm.container === 'fluid' ? 'container-fluid' : 'container'\n\t }, [_c('div', {\n\t staticClass: \"navbar-header\"\n\t }, [(!_vm.$slots.collapse) ? _c('button', {\n\t staticClass: \"navbar-toggle collapsed\",\n\t attrs: {\n\t \"type\": \"button\",\n\t \"aria-expanded\": \"false\"\n\t },\n\t on: {\n\t \"click\": _vm.toggleCollapse\n\t }\n\t }, [_c('span', {\n\t staticClass: \"sr-only\"\n\t }, [_vm._v(\"Toggle navigation\")]), _vm._v(\" \"), _c('span', {\n\t staticClass: \"icon-bar\"\n\t }), _vm._v(\" \"), _c('span', {\n\t staticClass: \"icon-bar\"\n\t }), _vm._v(\" \"), _c('span', {\n\t staticClass: \"icon-bar\"\n\t })]) : _vm._e(), _vm._v(\" \"), _vm._t(\"collapse\"), _vm._v(\" \"), _vm._t(\"brand\")], 2), _vm._v(\" \"), _c('div', {\n\t class: ['navbar-collapse', {\n\t collapse: _vm.collapsed\n\t }]\n\t }, [_c('ul', {\n\t staticClass: \"nav navbar-nav\"\n\t }, [_vm._t(\"default\")], 2), _vm._v(\" \"), (_vm.$slots.left) ? _c('ul', {\n\t staticClass: \"nav navbar-nav navbar-left\"\n\t }, [_vm._t(\"left\")], 2) : _vm._e(), _vm._v(\" \"), (_vm.$slots.right) ? _c('ul', {\n\t staticClass: \"nav navbar-nav navbar-right\"\n\t }, [_vm._t(\"right\")], 2) : _vm._e()])])])\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(132)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(133)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Option.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Option.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t//\n\t\n\texports.default = {\n\t props: { value: null },\n\t data: function data() {\n\t return { loading: true };\n\t },\n\t mounted: function mounted() {\n\t if (this.$parent._select) {\n\t if (!this.$parent.options) {\n\t this.$parent.options = [];\n\t }\n\t var el = {};\n\t el[this.$parent.optionsLabel] = this.$el.innerHTML;\n\t el[this.$parent.optionsValue] = this.value;\n\t this.$parent.options.push(el);\n\t this.loading = false;\n\t } else {\n\t console.warn('options only work inside a select component');\n\t }\n\t }\n\t};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return (_vm.loading) ? _c('li', [_vm._t(\"default\")], 2) : _vm._e()\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(135)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(137)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(138)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Panel.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Panel.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\texports.default = {\n\t props: {\n\t header: { type: String },\n\t isOpen: { type: Boolean, default: null },\n\t type: { type: String, default: null }\n\t },\n\t data: function data() {\n\t return {\n\t open: this.isOpen\n\t };\n\t },\n\t\n\t watch: {\n\t isOpen: function isOpen(val) {\n\t this.open = val;\n\t }\n\t },\n\t computed: {\n\t inAccordion: function inAccordion() {\n\t return this.$parent && this.$parent._isAccordion;\n\t },\n\t panelType: function panelType() {\n\t return 'panel-' + (this.type || this.$parent && this.$parent.type || 'default');\n\t }\n\t },\n\t methods: {\n\t toggle: function toggle() {\n\t this.open = !this.open;\n\t if (this.inAccordion) {\n\t this.$parent.openChild(this);\n\t }\n\t },\n\t enter: function enter(el) {\n\t el.style.height = 'auto';\n\t var endWidth = getComputedStyle(el).height;\n\t el.style.height = '0px';\n\t el.offsetHeight; // force repaint\n\t el.style.height = endWidth;\n\t },\n\t afterEnter: function afterEnter(el) {\n\t el.style.height = 'auto';\n\t },\n\t beforeLeave: function beforeLeave(el) {\n\t el.style.height = getComputedStyle(el).height;\n\t el.offsetHeight; // force repaint\n\t el.style.height = '0px';\n\t }\n\t },\n\t created: function created() {\n\t if (this.isOpen === null) {\n\t this.open = !this.inAccordion;\n\t }\n\t }\n\t};\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t class: ['panel', _vm.panelType]\n\t }, [_c('div', {\n\t class: ['panel-heading', {\n\t 'accordion-toggle': _vm.inAccordion\n\t }],\n\t on: {\n\t \"click\": function($event) {\n\t $event.preventDefault();\n\t _vm.inAccordion && _vm.toggle()\n\t }\n\t }\n\t }, [_vm._t(\"header\", [_c('h4', {\n\t staticClass: \"panel-title\"\n\t }, [_vm._v(_vm._s(_vm.header))])])], 2), _vm._v(\" \"), _c('transition', {\n\t attrs: {\n\t \"name\": \"collapse\"\n\t },\n\t on: {\n\t \"enter\": _vm.enter,\n\t \"after-enter\": _vm.afterEnter,\n\t \"before-leave\": _vm.beforeLeave\n\t }\n\t }, [(_vm.open) ? _c('div', {\n\t staticClass: \"panel-collapse\"\n\t }, [_c('div', {\n\t staticClass: \"panel-body\"\n\t }, [_vm._t(\"default\")], 2)]) : _vm._e()])], 1)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(140)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(142)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(144)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Popover.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Popover.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _popoverMixins = __webpack_require__(143);\n\t\n\tvar _popoverMixins2 = _interopRequireDefault(_popoverMixins);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t mixins: [_popoverMixins2.default],\n\t props: {\n\t trigger: { type: String, default: 'click' }\n\t }\n\t}; //\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _NodeList = __webpack_require__(1);\n\t\n\tvar _NodeList2 = _interopRequireDefault(_NodeList);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t props: {\n\t content: { type: String },\n\t effect: { type: String, default: 'fade' },\n\t header: { type: Boolean, default: true },\n\t placement: { type: String, default: 'top' },\n\t title: { type: String },\n\t trigger: { type: String }\n\t },\n\t data: function data() {\n\t return {\n\t top: 0,\n\t left: 0,\n\t show: false\n\t };\n\t },\n\t\n\t computed: {\n\t events: function events() {\n\t return { contextmenu: ['contextmenu'], hover: ['mouseleave', 'mouseenter'], focus: ['blur', 'focus'] }[this.trigger] || ['click'];\n\t }\n\t },\n\t methods: {\n\t beforeEnter: function beforeEnter() {\n\t var _this = this;\n\t\n\t this.position();\n\t setTimeout(function () {\n\t return _this.position();\n\t }, 30);\n\t },\n\t position: function position() {\n\t var _this2 = this;\n\t\n\t this.$nextTick(function () {\n\t var popover = _this2.$refs.popover;\n\t var trigger = _this2.$refs.trigger.children[0];\n\t switch (_this2.placement) {\n\t case 'top':\n\t _this2.left = trigger.offsetLeft - popover.offsetWidth / 2 + trigger.offsetWidth / 2;\n\t _this2.top = trigger.offsetTop - popover.offsetHeight;\n\t break;\n\t case 'left':\n\t _this2.left = trigger.offsetLeft - popover.offsetWidth;\n\t _this2.top = trigger.offsetTop + trigger.offsetHeight / 2 - popover.offsetHeight / 2;\n\t break;\n\t case 'right':\n\t _this2.left = trigger.offsetLeft + trigger.offsetWidth;\n\t _this2.top = trigger.offsetTop + trigger.offsetHeight / 2 - popover.offsetHeight / 2;\n\t break;\n\t case 'bottom':\n\t _this2.left = trigger.offsetLeft - popover.offsetWidth / 2 + trigger.offsetWidth / 2;\n\t _this2.top = trigger.offsetTop + trigger.offsetHeight;\n\t break;\n\t default:\n\t console.warn('Wrong placement prop');\n\t }\n\t popover.style.top = _this2.top + 'px';\n\t popover.style.left = _this2.left + 'px';\n\t });\n\t },\n\t toggle: function toggle(e) {\n\t if (e && this.trigger === 'contextmenu') e.preventDefault();\n\t this.show = !this.show;\n\t if (this.show) this.beforeEnter();\n\t }\n\t },\n\t mounted: function mounted() {\n\t var _this3 = this;\n\t\n\t var trigger = this.$refs.trigger.children[0];\n\t if (!trigger) return console.error('Could not find trigger v-el in your component that uses popoverMixin.');\n\t\n\t if (this.trigger === 'focus' && !~trigger.tabIndex) {\n\t trigger = (0, _NodeList2.default)('a,input,select,textarea,button', trigger);\n\t if (!trigger.length) {\n\t return;\n\t }\n\t }\n\t this.events.forEach(function (event) {\n\t (0, _NodeList2.default)(trigger).on(event, _this3.toggle);\n\t });\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t if (this._trigger) (0, _NodeList2.default)(this._trigger).off();\n\t }\n\t};\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('span', {\n\t ref: \"trigger\"\n\t }, [_vm._t(\"default\"), _vm._v(\" \"), _c('transition', {\n\t attrs: {\n\t \"name\": _vm.effect\n\t }\n\t }, [(_vm.show) ? _c('div', {\n\t ref: \"popover\",\n\t class: ['popover', _vm.placement]\n\t }, [_c('div', {\n\t staticClass: \"arrow\"\n\t }), _vm._v(\" \"), (_vm.title) ? _c('h3', {\n\t staticClass: \"popover-title\"\n\t }, [_vm._t(\"title\", [_vm._v(_vm._s(_vm.title))])], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n\t staticClass: \"popover-content\"\n\t }, [_vm._t(\"content\", [_c('span', {\n\t domProps: {\n\t \"innerHTML\": _vm._s(_vm.content)\n\t }\n\t })])], 2)]) : _vm._e()])], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(146)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(147)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Progressbar.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Progressbar.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(65);\n\t\n\texports.default = {\n\t props: {\n\t animated: { type: Boolean, default: false },\n\t label: { default: false },\n\t now: { required: true },\n\t striped: { type: Boolean, default: false },\n\t type: { type: String }\n\t },\n\t computed: {\n\t labelBool: function labelBool() {\n\t return _utils.coerce.boolean(this.label);\n\t },\n\t nowNum: function nowNum() {\n\t return _utils.coerce.number(this.now);\n\t }\n\t }\n\t}; //\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t class: ['progress-bar', 'progress-bar-' + _vm.type, {\n\t active: _vm.animated,\n\t 'progress-bar-striped': _vm.striped\n\t }],\n\t style: ({\n\t width: _vm.nowNum + '%'\n\t }),\n\t domProps: {\n\t \"textContent\": _vm._s(_vm.labelBool ? _vm.nowNum + '%' : null)\n\t }\n\t })\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(149)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(151)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(152)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Radio.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Radio.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\texports.default = {\n\t props: {\n\t button: { type: Boolean, default: false },\n\t disabled: { type: Boolean, default: false },\n\t name: { type: String, default: null },\n\t readonly: { type: Boolean, default: false },\n\t selectedValue: { default: true },\n\t type: { type: String, default: null },\n\t value: { default: false }\n\t },\n\t data: function data() {\n\t return {\n\t check: this.value\n\t };\n\t },\n\t\n\t computed: {\n\t active: function active() {\n\t return this.check === this.selectedValue;\n\t },\n\t inGroup: function inGroup() {\n\t return this.$parent && this.$parent.btnGroup && !this.$parent._checkboxGroup;\n\t },\n\t parentValue: function parentValue() {\n\t return this.$parent.val;\n\t },\n\t buttonStyle: function buttonStyle() {\n\t return this.button || this.$parent && this.$parent.btnGroup && this.$parent.buttons;\n\t },\n\t typeColor: function typeColor() {\n\t return this.type || this.$parent && this.$parent.type || 'default';\n\t }\n\t },\n\t watch: {\n\t check: function check(val) {\n\t if (this.selectedValue === val) {\n\t this.$emit('input', val);\n\t this.$emit('checked', true);\n\t this.updateParent();\n\t }\n\t },\n\t parentValue: function parentValue(val) {\n\t this.updateFromParent();\n\t },\n\t value: function value(val) {\n\t if (this.selectedValue == val) {\n\t this.check = val;\n\t } else {\n\t this.check = false;\n\t }\n\t }\n\t },\n\t created: function created() {\n\t if (this.inGroup) {\n\t var parent = this.$parent;\n\t parent._radioGroup = true;\n\t this.updateFromParent();\n\t }\n\t },\n\t\n\t methods: {\n\t updateFromParent: function updateFromParent() {\n\t if (this.inGroup) {\n\t if (this.selectedValue == this.$parent.val) {\n\t this.check = this.selectedValue;\n\t } else {\n\t this.check = false;\n\t }\n\t }\n\t },\n\t updateParent: function updateParent() {\n\t if (this.inGroup) {\n\t if (this.selectedValue === this.check) {\n\t this.$parent.val = this.selectedValue;\n\t }\n\t }\n\t },\n\t focus: function focus() {\n\t this.$refs.input.focus();\n\t },\n\t toggle: function toggle() {\n\t if (this.disabled) {\n\t return;\n\t }\n\t this.focus();\n\t if (this.readonly) {\n\t return;\n\t }\n\t this.check = this.selectedValue;\n\t }\n\t }\n\t};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c(_vm.buttonStyle ? 'label' : 'div', {\n\t tag: \"div\",\n\t class: [(_vm.buttonStyle ? 'btn btn-' + _vm.typeColor : 'radio ' + _vm.typeColor), {\n\t active: _vm.active,\n\t disabled: _vm.disabled,\n\t readonly: _vm.readonly\n\t }],\n\t on: {\n\t \"click\": function($event) {\n\t $event.preventDefault();\n\t _vm.toggle($event)\n\t }\n\t }\n\t }, [(_vm.buttonStyle) ? [_c('input', {\n\t directives: [{\n\t name: \"show\",\n\t rawName: \"v-show\",\n\t value: (!_vm.readonly),\n\t expression: \"!readonly\"\n\t }, {\n\t name: \"model\",\n\t rawName: \"v-model\",\n\t value: (_vm.check),\n\t expression: \"check\"\n\t }],\n\t ref: \"input\",\n\t attrs: {\n\t \"type\": \"radio\",\n\t \"autocomplete\": \"off\",\n\t \"name\": _vm.name,\n\t \"readonly\": _vm.readonly,\n\t \"disabled\": _vm.disabled\n\t },\n\t domProps: {\n\t \"value\": _vm.selectedValue,\n\t \"checked\": _vm._q(_vm.check, _vm.selectedValue)\n\t },\n\t on: {\n\t \"__c\": function($event) {\n\t _vm.check = _vm.selectedValue\n\t }\n\t }\n\t }), _vm._v(\" \"), _vm._t(\"default\")] : _c('label', {\n\t staticClass: \"open\"\n\t }, [_c('input', {\n\t directives: [{\n\t name: \"model\",\n\t rawName: \"v-model\",\n\t value: (_vm.check),\n\t expression: \"check\"\n\t }],\n\t ref: \"input\",\n\t attrs: {\n\t \"type\": \"radio\",\n\t \"autocomplete\": \"off\",\n\t \"name\": _vm.name,\n\t \"readonly\": _vm.readonly,\n\t \"disabled\": _vm.disabled\n\t },\n\t domProps: {\n\t \"value\": _vm.selectedValue,\n\t \"checked\": _vm._q(_vm.check, _vm.selectedValue)\n\t },\n\t on: {\n\t \"__c\": function($event) {\n\t _vm.check = _vm.selectedValue\n\t }\n\t }\n\t }), _vm._v(\" \"), _c('span', {\n\t staticClass: \"icon dropdown-toggle\",\n\t class: [_vm.active ? 'btn-' + _vm.typeColor : '', {\n\t bg: _vm.typeColor === 'default'\n\t }]\n\t }), _vm._v(\" \"), (_vm.active && _vm.typeColor === 'default') ? _c('span', {\n\t staticClass: \"icon\"\n\t }) : _vm._e(), _vm._v(\" \"), _vm._t(\"default\")], 2)], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(154)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(156)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(157)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Select.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t__vue_options__._scopeId = \"data-v-83f07694\"\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Select.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(65);\n\t\n\tvar _ClickOutside = __webpack_require__(66);\n\t\n\tvar _ClickOutside2 = _interopRequireDefault(_ClickOutside);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\tvar timeout = {};\n\texports.default = {\n\t directives: {\n\t ClickOutside: _ClickOutside2.default\n\t },\n\t props: {\n\t clearButton: { type: Boolean, default: false },\n\t closeOnSelect: { type: Boolean, default: false },\n\t disabled: { type: Boolean, default: false },\n\t lang: { type: String, default: navigator.language },\n\t limit: { type: Number, default: 1024 },\n\t minSearch: { type: Number, default: 0 },\n\t multiple: { type: Boolean, default: false },\n\t name: { type: String, default: null },\n\t options: { type: Array, default: function _default() {\n\t return [];\n\t }\n\t },\n\t optionsLabel: { type: String, default: 'label' },\n\t optionsValue: { type: String, default: 'value' },\n\t parent: { default: true },\n\t placeholder: { type: String, default: null },\n\t readonly: { type: Boolean, default: null },\n\t required: { type: Boolean, default: null },\n\t search: { type: Boolean, default: false },\n\t searchText: { type: String, default: null },\n\t countText: { type: String, default: null },\n\t showCount: { type: Boolean, default: false },\n\t url: { type: String, default: null },\n\t value: null\n\t },\n\t data: function data() {\n\t return {\n\t list: [],\n\t loading: null,\n\t searchValue: null,\n\t show: false,\n\t notify: false,\n\t val: null,\n\t valid: null\n\t };\n\t },\n\t\n\t computed: {\n\t canSearch: function canSearch() {\n\t return this.minSearch ? this.list.length >= this.minSearch : this.search;\n\t },\n\t classes: function classes() {\n\t return [{ open: this.show, disabled: this.disabled }, this.class, this.isLi ? 'dropdown' : this.inInput ? 'input-group-btn' : 'btn-group'];\n\t },\n\t filteredOptions: function filteredOptions() {\n\t var _this = this;\n\t\n\t var search = (this.searchValue || '').toLowerCase();\n\t return !search ? this.list : this.list.filter(function (el) {\n\t return ~el[_this.optionsLabel].toLowerCase().search(search);\n\t });\n\t },\n\t hasParent: function hasParent() {\n\t return this.parent instanceof Array ? this.parent.length : this.parent;\n\t },\n\t inInput: function inInput() {\n\t return this.$parent._input;\n\t },\n\t isLi: function isLi() {\n\t return this.$parent._navbar || this.$parent.menu || this.$parent._tabset;\n\t },\n\t limitText: function limitText() {\n\t return this.text.limit.replace('{{limit}}', this.limit);\n\t },\n\t selected: function selected() {\n\t var _this2 = this;\n\t\n\t if (this.list.length === 0) {\n\t return '';\n\t }\n\t var sel = this.values.map(function (val) {\n\t return (_this2.list.find(function (o) {\n\t return o[_this2.optionsValue] === val;\n\t }) || {})[_this2.optionsLabel];\n\t }).filter(function (val) {\n\t return val !== undefined;\n\t });\n\t this.$emit('selected', sel);\n\t return sel.join(', ');\n\t },\n\t selectedText: function selectedText() {\n\t return this.countText || this.text.selected.replace('{{count}}', this.values.length);\n\t },\n\t showPlaceholder: function showPlaceholder() {\n\t return this.values.length === 0 || !this.hasParent ? this.placeholder || this.text.notSelected : null;\n\t },\n\t text: function text() {\n\t return (0, _utils.translations)(this.lang);\n\t },\n\t values: function values() {\n\t return this.val instanceof Array ? this.val : ~[null, undefined].indexOf(this.val) ? [] : [this.val];\n\t },\n\t valOptions: function valOptions() {\n\t var _this3 = this;\n\t\n\t return this.list.map(function (el) {\n\t return el[_this3.optionsValue];\n\t });\n\t }\n\t },\n\t watch: {\n\t options: function options(_options) {\n\t if (_options instanceof Array) this.setOptions(_options);\n\t },\n\t show: function show(val) {\n\t if (val) {\n\t this.$refs.search ? this.$refs.search.focus() : this.$refs.btn.focus();\n\t // onBlur(this.$refs.select, e => { this.show = false })\n\t } else {\n\t // offBlur(this.$refs.select)\n\t }\n\t },\n\t url: function url() {\n\t this.urlChanged();\n\t },\n\t valid: function valid(val, old) {\n\t this.$emit('isvalid', val);\n\t this.$emit(!val ? 'invalid' : 'valid');\n\t if (val !== old && this._parent) this._parent.validate();\n\t },\n\t value: function value(val, old) {\n\t if (val !== old) {\n\t this.val = val;\n\t }\n\t },\n\t val: function val(_val, old) {\n\t var _this4 = this;\n\t\n\t if (_val === undefined) {\n\t this.val = _val = null;\n\t }\n\t if (_val !== old) {\n\t this.$emit('change', _val);\n\t this.$emit('input', _val);\n\t }\n\t if (_val instanceof Array && _val.length > this.limit) {\n\t this.val = _val.slice(0, this.limit);\n\t this.notify = true;\n\t if (timeout.limit) clearTimeout(timeout.limit);\n\t timeout.limit = setTimeout(function () {\n\t timeout.limit = false;\n\t _this4.notify = false;\n\t }, 1500);\n\t }\n\t this.valid = this.validate();\n\t }\n\t },\n\t methods: {\n\t close: function close() {\n\t this.show = false;\n\t },\n\t checkData: function checkData() {\n\t if (this.multiple) {\n\t if (this.limit < 1) {\n\t this.limit = 1;\n\t }\n\t if (!(this.val instanceof Array)) {\n\t this.val = this.val === null || this.val === undefined ? [] : [this.val];\n\t }\n\t var values = this.valOptions;\n\t this.val = this.val.filter(function (el) {\n\t return ~values.indexOf(el);\n\t });\n\t if (this.values.length > this.limit) {\n\t this.val = this.val.slice(0, this.limit);\n\t }\n\t } else {\n\t if (!~this.valOptions.indexOf(this.val)) {\n\t this.val = null;\n\t }\n\t }\n\t },\n\t clear: function clear() {\n\t if (this.disabled || this.readonly) {\n\t return;\n\t }\n\t this.val = this.val instanceof Array ? [] : null;\n\t this.toggle();\n\t },\n\t clearSearch: function clearSearch() {\n\t this.searchValue = '';\n\t this.$refs.search.focus();\n\t },\n\t isSelected: function isSelected(v) {\n\t return this.values.indexOf(v) > -1;\n\t },\n\t select: function select(v) {\n\t if (this.val instanceof Array) {\n\t var newVal = this.val.slice(0);\n\t if (~newVal.indexOf(v)) {\n\t newVal.splice(newVal.indexOf(v), 1);\n\t } else {\n\t newVal.push(v);\n\t }\n\t this.val = newVal;\n\t if (this.closeOnSelect) {\n\t this.toggle();\n\t }\n\t } else {\n\t this.val = v;\n\t this.toggle();\n\t }\n\t },\n\t setOptions: function setOptions(options) {\n\t var _this5 = this;\n\t\n\t this.list = options.map(function (el) {\n\t if (el instanceof Object) {\n\t return el;\n\t }\n\t var obj = {};\n\t obj[_this5.optionsLabel] = el;\n\t obj[_this5.optionsValue] = el;\n\t return obj;\n\t });\n\t this.$emit('options', this.list);\n\t },\n\t toggle: function toggle() {\n\t if (this.disabled && !this.show) return;\n\t this.show = !this.show;\n\t if (!this.show) this.$refs.btn.focus();\n\t },\n\t urlChanged: function urlChanged() {\n\t var _this6 = this;\n\t\n\t if (!this.url || !this.$http) {\n\t return;\n\t }\n\t this.loading = true;\n\t this.$http.get(this.url).then(function (response) {\n\t var data = response.data instanceof Array ? response.data : [];\n\t try {\n\t data = JSON.parse(data);\n\t } catch (e) {}\n\t _this6.setOptions(data);\n\t _this6.loading = false;\n\t _this6.checkData();\n\t }, function (response) {\n\t _this6.loading = false;\n\t });\n\t },\n\t validate: function validate() {\n\t return !this.required ? true : this.val instanceof Array ? this.val.length > 0 : this.val !== null;\n\t }\n\t },\n\t created: function created() {\n\t this.setOptions(this.options);\n\t this.val = this.value;\n\t this._select = true;\n\t if (this.val === undefined || !this.parent) {\n\t this.val = null;\n\t }\n\t if (!this.multiple && this.val instanceof Array) {\n\t this.val = this.val[0];\n\t }\n\t this.checkData();\n\t if (this.url) this.urlChanged();\n\t var parent = this.$parent;\n\t while (parent && !parent._formValidator) {\n\t parent = parent.$parent;\n\t }\n\t if (parent && parent._formValidator) {\n\t parent.children.push(this);\n\t this._parent = parent;\n\t }\n\t },\n\t mounted: function mounted() {\n\t if (this._parent) this._parent.children.push(this);\n\t this.setOptions(this.options);\n\t this.val = this.value;\n\t this.checkData();\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t if (this._parent) {\n\t var index = this._parent.children.indexOf(this);\n\t this._parent.children.splice(index, 1);\n\t }\n\t }\n\t};\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t directives: [{\n\t name: \"click-outside\",\n\t rawName: \"v-click-outside\",\n\t value: (_vm.close),\n\t expression: \"close\"\n\t }],\n\t ref: \"select\",\n\t class: _vm.classes\n\t }, [_c('div', {\n\t ref: \"btn\",\n\t staticClass: \"form-control dropdown-toggle\",\n\t attrs: {\n\t \"tabindex\": \"1\",\n\t \"disabled\": _vm.disabled || !_vm.hasParent,\n\t \"readonly\": _vm.readonly\n\t },\n\t on: {\n\t \"blur\": function($event) {\n\t _vm.canSearch ? null : _vm.close()\n\t },\n\t \"click\": function($event) {\n\t _vm.toggle()\n\t },\n\t \"keydown\": [function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"esc\", 27)) { return null; }\n\t $event.stopPropagation();\n\t $event.preventDefault();\n\t _vm.close($event)\n\t }, function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"space\", 32)) { return null; }\n\t $event.stopPropagation();\n\t $event.preventDefault();\n\t _vm.toggle($event)\n\t }, function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n\t $event.stopPropagation();\n\t $event.preventDefault();\n\t _vm.toggle($event)\n\t }]\n\t }\n\t }, [_c('span', {\n\t staticClass: \"btn-content\",\n\t domProps: {\n\t \"innerHTML\": _vm._s(_vm.loading ? _vm.text.loading : _vm.showPlaceholder || (_vm.multiple && _vm.showCount ? _vm.selectedText : _vm.selected))\n\t }\n\t }), _vm._v(\" \"), (_vm.clearButton && _vm.values.length) ? _c('span', {\n\t staticClass: \"close\",\n\t on: {\n\t \"click\": function($event) {\n\t _vm.clear()\n\t }\n\t }\n\t }, [_vm._v(\"×\")]) : _vm._e()]), _vm._v(\" \"), _c('select', {\n\t directives: [{\n\t name: \"model\",\n\t rawName: \"v-model\",\n\t value: (_vm.val),\n\t expression: \"val\"\n\t }],\n\t ref: \"sel\",\n\t staticClass: \"secret\",\n\t attrs: {\n\t \"name\": _vm.name,\n\t \"multiple\": _vm.multiple,\n\t \"required\": _vm.required,\n\t \"readonly\": _vm.readonly,\n\t \"disabled\": _vm.disabled\n\t },\n\t on: {\n\t \"change\": function($event) {\n\t var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n\t return o.selected\n\t }).map(function(o) {\n\t var val = \"_value\" in o ? o._value : o.value;\n\t return val\n\t });\n\t _vm.val = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n\t }\n\t }\n\t }, [(_vm.required) ? _c('option', {\n\t attrs: {\n\t \"value\": \"\"\n\t }\n\t }) : _vm._e(), _vm._v(\" \"), _vm._l((_vm.list), function(option) {\n\t return _c('option', {\n\t domProps: {\n\t \"value\": option[_vm.optionsValue]\n\t }\n\t }, [_vm._v(_vm._s(option[_vm.optionsLabel]))])\n\t })], 2), _vm._v(\" \"), _c('ul', {\n\t staticClass: \"dropdown-menu\"\n\t }, [(_vm.list.length) ? [(_vm.canSearch) ? _c('li', {\n\t staticClass: \"bs-searchbox\"\n\t }, [_c('input', {\n\t directives: [{\n\t name: \"model\",\n\t rawName: \"v-model\",\n\t value: (_vm.searchValue),\n\t expression: \"searchValue\"\n\t }],\n\t ref: \"search\",\n\t staticClass: \"form-control\",\n\t attrs: {\n\t \"type\": \"text\",\n\t \"placeholder\": _vm.searchText || _vm.text.search,\n\t \"autocomplete\": \"off\"\n\t },\n\t domProps: {\n\t \"value\": (_vm.searchValue)\n\t },\n\t on: {\n\t \"keyup\": function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"esc\", 27)) { return null; }\n\t _vm.close($event)\n\t },\n\t \"input\": function($event) {\n\t if ($event.target.composing) { return; }\n\t _vm.searchValue = $event.target.value\n\t }\n\t }\n\t }), _vm._v(\" \"), _c('span', {\n\t directives: [{\n\t name: \"show\",\n\t rawName: \"v-show\",\n\t value: (_vm.searchValue),\n\t expression: \"searchValue\"\n\t }],\n\t staticClass: \"close\",\n\t on: {\n\t \"click\": _vm.clearSearch\n\t }\n\t }, [_vm._v(\"×\")])]) : _vm._e(), _vm._v(\" \"), (_vm.required && !_vm.clearButton) ? _c('li', [_c('a', {\n\t on: {\n\t \"mousedown\": function($event) {\n\t $event.preventDefault();\n\t _vm.clear() && _vm.close()\n\t }\n\t }\n\t }, [_vm._v(_vm._s(_vm.placeholder || _vm.text.notSelected))])]) : _vm._e(), _vm._v(\" \"), _vm._l((_vm.filteredOptions), function(option) {\n\t return _c('li', {\n\t attrs: {\n\t \"id\": option[_vm.optionsValue]\n\t }\n\t }, [_c('a', {\n\t on: {\n\t \"mousedown\": function($event) {\n\t $event.preventDefault();\n\t _vm.select(option[_vm.optionsValue])\n\t }\n\t }\n\t }, [_c('span', {\n\t domProps: {\n\t \"innerHTML\": _vm._s(option[_vm.optionsLabel])\n\t }\n\t }), _vm._v(\" \"), _c('span', {\n\t directives: [{\n\t name: \"show\",\n\t rawName: \"v-show\",\n\t value: (_vm.isSelected(option[_vm.optionsValue])),\n\t expression: \"isSelected(option[optionsValue])\"\n\t }],\n\t staticClass: \"glyphicon glyphicon-ok check-mark\"\n\t })])])\n\t })] : _vm._e(), _vm._v(\" \"), _vm._t(\"default\"), _vm._v(\" \"), (_vm.notify && !_vm.closeOnSelect) ? _c('transition', {\n\t attrs: {\n\t \"name\": \"fadein\"\n\t }\n\t }, [_c('div', {\n\t staticClass: \"notify in\"\n\t }, [_vm._v(_vm._s(_vm.limitText))])]) : _vm._e()], 2), _vm._v(\" \"), (_vm.notify && _vm.closeOnSelect) ? _c('transition', {\n\t attrs: {\n\t \"name\": \"fadein\"\n\t }\n\t }, [_c('div', {\n\t staticClass: \"notify out\"\n\t }, [_c('div', [_vm._v(_vm._s(_vm.limitText))])])]) : _vm._e()], 1)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(159)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(160)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Slider.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Slider.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t//\n\t//\n\t\n\texports.default = {\n\t computed: {\n\t index: function index() {\n\t return this.$parent.$children.indexOf(this);\n\t },\n\t show: function show() {\n\t return this.$parent.index === this.index;\n\t }\n\t },\n\t mounted: function mounted() {\n\t if (this.$parent.indicator_list) {\n\t this.$parent.indicator_list.push(this.index);\n\t }\n\t\n\t if (this.index === 0) {\n\t this.$el.classList.add('active');\n\t }\n\t }\n\t};\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t staticClass: \"item\"\n\t }, [_vm._t(\"default\")], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(162)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(164)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(165)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Spinner.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Spinner.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(65);\n\t\n\tvar MIN_WAIT = 500; // in ms\n\t\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\texports.default = {\n\t props: {\n\t fixed: { type: Boolean, default: false },\n\t global: { type: Boolean, default: false },\n\t size: { type: String, default: 'md' },\n\t text: { type: String, default: '' },\n\t value: { default: false }\n\t },\n\t data: function data() {\n\t return {\n\t active: this.value,\n\t locked: false\n\t };\n\t },\n\t\n\t computed: {\n\t spinnerSize: function spinnerSize() {\n\t return 'spinner-' + (this.size ? this.size : 'sm');\n\t }\n\t },\n\t watch: {\n\t active: function active(val, old) {\n\t if (val !== old) this.$emit('input', val);\n\t },\n\t value: function value(val, old) {\n\t if (val !== old) {\n\t this[val ? 'show' : 'hide']();\n\t }\n\t }\n\t },\n\t methods: {\n\t hide: function hide() {\n\t var delay = 0;\n\t this.active = false;\n\t },\n\t show: function show(options) {\n\t if (options) {\n\t if (options.text) {\n\t this.text = options.text;\n\t }\n\t if (options.size) {\n\t this.size = options.size;\n\t }\n\t if (options.fixed) {\n\t this.fixed = options.fixed;\n\t }\n\t }\n\t // block scrolling when spinner is on\n\t this._body.style.overflowY = 'hidden';\n\t // activate spinner\n\t this._started = new Date();\n\t this.active = true;\n\t this.locked = true;\n\t this._unlock();\n\t }\n\t },\n\t created: function created() {\n\t this._body = document.body;\n\t this._bodyOverflow = document.body.style.overflowY;\n\t this._unlock = (0, _utils.delayer)(function () {\n\t this.locked = false;\n\t this._body.style.overflowY = this._bodyOverflow;\n\t }, MIN_WAIT);\n\t if (this.global) {\n\t if (!this.$root._globalSpinner) {\n\t this.$root._globalSpinner = true;\n\t var self = this;\n\t this._global = {\n\t hide: function hide() {\n\t self.hide();\n\t },\n\t show: function show() {\n\t self.show();\n\t }\n\t };\n\t this.$root.$on('spinner::show', this._global.show);\n\t this.$root.$on('spinner::hide', this._global.hide);\n\t }\n\t }\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t if (this._global) {\n\t this.$root.$off('spinner::show', this._global.show);\n\t this.$root.$off('spinner::hide', this._global.hide);\n\t delete this.$root._globalSpinner;\n\t }\n\t clearTimeout(this._spinnerAnimation);\n\t this._body.style.overflowY = this._bodyOverflow;\n\t }\n\t};\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t directives: [{\n\t name: \"show\",\n\t rawName: \"v-show\",\n\t value: (_vm.active || _vm.locked),\n\t expression: \"active||locked\"\n\t }],\n\t class: ['spinner spinner-gritcode', _vm.spinnerSize, {\n\t 'spinner-fixed': _vm.fixed\n\t }]\n\t }, [_c('div', {\n\t staticClass: \"spinner-wrapper\"\n\t }, [_c('div', {\n\t staticClass: \"spinner-circle\"\n\t }), _vm._v(\" \"), _c('div', {\n\t staticClass: \"spinner-text\"\n\t }, [_vm._v(_vm._s(_vm.text))])])])\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(167)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(168)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Tab.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Tab.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t//\n\t//\n\t//\n\t//\n\t\n\texports.default = {\n\t props: {\n\t disabled: { type: Boolean, default: false },\n\t header: { type: String }\n\t },\n\t data: function data() {\n\t return {\n\t fadein: false\n\t };\n\t },\n\t\n\t computed: {\n\t active: function active() {\n\t var _this = this;\n\t\n\t var active = !this._tabs || this._tabs.show === this;\n\t this.fadein = false;\n\t if (active) {\n\t setTimeout(function () {\n\t _this.fadein = true;\n\t }, 0);\n\t }\n\t return active;\n\t },\n\t index: function index() {\n\t return this._tabs.tabs.indexOf(this);\n\t },\n\t transition: function transition() {\n\t return this._tabs ? this._tabs.effect : null;\n\t }\n\t },\n\t created: function created() {\n\t this._isTab = true;\n\t var tabs = this;\n\t while (!this._tabs && tabs.$parent) {\n\t if (tabs._isTabGroup) {\n\t tabs.tabs.push(this);\n\t this._tabGroup = tabs;\n\t }\n\t if (tabs._isTabs) {\n\t tabs.tabs.push(this);\n\t this._tabs = tabs;\n\t if (!this._tabGroup) tabs.headers.push(this);\n\t }\n\t tabs = tabs.$parent;\n\t }\n\t if (!this._tabs) throw Error('tab depend on tabs.');\n\t },\n\t beforeDestroy: function beforeDestroy() {\n\t var _this2 = this;\n\t\n\t if (this._tabGroup) {\n\t this._tabGroup.tabs = this._tabGroup.tabs.filter(function (el) {\n\t return el !== _this2;\n\t });\n\t }\n\t if (this._tabs) {\n\t this._tabs.tabs = this._tabs.tabs.filter(function (el) {\n\t return el !== _this2;\n\t });\n\t }\n\t if (this._tabs) {\n\t if (this._tabs.active === this.index) {\n\t this._tabs.index = 0;\n\t }\n\t if (this._ingroup) {\n\t var id = this.$parent.tabs.indexOf(this);\n\t if (~id) this.$parent.tabs.splice(id, 1);\n\t }\n\t }\n\t if (this._tabs) {\n\t var _id = this._tabs.tabs.indexOf(this);\n\t if (~_id) this._tabs.tabs.splice(_id, 1);\n\t }\n\t }\n\t};\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t ref: \"panel\",\n\t class: ['tab-pane', {\n\t 'active fade': _vm.active,\n\t 'in': _vm.fadein\n\t }],\n\t attrs: {\n\t \"role\": \"tabpanel\"\n\t }\n\t }, [_vm._t(\"default\")], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(170)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(172)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(173)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/TabGroup.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] TabGroup.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t//\n\t//\n\t\n\texports.default = {\n\t props: {\n\t disabled: { type: Boolean, default: false },\n\t header: { type: String }\n\t },\n\t data: function data() {\n\t return {\n\t show: false,\n\t tabs: []\n\t };\n\t },\n\t\n\t computed: {\n\t active: function active() {\n\t return ~this.tabs.indexOf(this._tabs.show);\n\t }\n\t },\n\t methods: {\n\t blur: function blur() {\n\t this.show = false;\n\t },\n\t toggle: function toggle() {\n\t this.show = !this.show;\n\t }\n\t },\n\t created: function created() {\n\t this._isTabGroup = true;\n\t if (this.$parent) {\n\t if (this.$parent._isTabGroup) throw Error('Can\\'t nest tab-groups.');\n\t if (!this.$parent._isTabs) throw Error('tab-group depend on tabs.');\n\t }\n\t this._tabs = this.$parent;\n\t this._tabs.headers.push(this);\n\t }\n\t};\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('span', [_vm._t(\"default\")], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(175)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(177)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(178)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Tabs.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Tabs.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(65);\n\t\n\tvar _Dropdown = __webpack_require__(105);\n\t\n\tvar _Dropdown2 = _interopRequireDefault(_Dropdown);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\texports.default = {\n\t components: {\n\t dropdown: _Dropdown2.default\n\t },\n\t props: {\n\t // effect: {type: String, default: 'fadein'},\n\t justified: false,\n\t navStyle: { type: String, default: null },\n\t value: { type: Number, default: 0 }\n\t },\n\t data: function data() {\n\t var index = this.value || 0;\n\t return {\n\t index: index,\n\t headers: [],\n\t tabs: []\n\t };\n\t },\n\t\n\t watch: {\n\t index: function index(val) {\n\t this.$emit('active', val);\n\t this.$emit('input', val);\n\t },\n\t value: function value(val) {\n\t this.index = val;\n\t }\n\t },\n\t computed: {\n\t navStyleClass: function navStyleClass() {\n\t return ['nav', ~['pills', 'stacked'].indexOf(this.navStyle) ? 'nav-' + this.navStyle : 'nav-tabs', {\n\t 'nav-justified': _utils.coerce.boolean(this.justified),\n\t 'nav-pills': this.navStyle === 'stacked'\n\t }];\n\t },\n\t show: function show() {\n\t return this.tabs[this.index] || this.tabs[0];\n\t }\n\t },\n\t methods: {\n\t select: function select(tab) {\n\t if (!tab.disabled) {\n\t this.index = this.tabs.indexOf(tab);\n\t }\n\t }\n\t },\n\t created: function created() {\n\t this._isTabs = true;\n\t }\n\t};\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t attrs: {\n\t \"tabs\": \"\"\n\t }\n\t }, [_c('ul', {\n\t class: _vm.navStyleClass,\n\t attrs: {\n\t \"role\": \"tablist\"\n\t }\n\t }, [_vm._l((_vm.headers), function(header) {\n\t return [(header._isTab) ? _c('li', {\n\t class: {\n\t active: header.active, disabled: header.disabled\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t $event.preventDefault();\n\t _vm.select(header)\n\t }\n\t }\n\t }, [_vm._t(\"header\", [_c('a', {\n\t attrs: {\n\t \"href\": \"#\"\n\t },\n\t domProps: {\n\t \"innerHTML\": _vm._s(header.header)\n\t }\n\t })])], 2) : _vm._e(), _vm._v(\" \"), (header._isTabGroup) ? _c('dropdown', {\n\t class: {\n\t active: header.active\n\t },\n\t attrs: {\n\t \"text\": header.header,\n\t \"disabled\": header.disabled\n\t }\n\t }, _vm._l((header.tabs), function(tab) {\n\t return _c('li', {\n\t class: {\n\t disabled: tab.disabled\n\t }\n\t }, [_c('a', {\n\t attrs: {\n\t \"href\": \"#\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t $event.preventDefault();\n\t _vm.select(tab)\n\t }\n\t }\n\t }, [_vm._v(_vm._s(tab.header))])])\n\t })) : _vm._e()]\n\t })], 2), _vm._v(\" \"), _c('div', {\n\t staticClass: \"tab-content\"\n\t }, [_vm._t(\"default\")], 2)])\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(180)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(181)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/ToggleButton.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] ToggleButton.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(65);\n\t\n\texports.default = {\n\t props: {\n\t disabled: { default: null },\n\t falseType: { default: null },\n\t name: null,\n\t readonly: { default: null },\n\t trueType: { default: 'primary' },\n\t value: false\n\t },\n\t data: function data() {\n\t return {\n\t active: _utils.coerce.boolean(this.value),\n\t types: {\n\t danger: 'btn-danger',\n\t info: 'btn-info',\n\t primary: 'btn-primary',\n\t success: 'btn-success',\n\t warning: 'btn-warning'\n\t }\n\t };\n\t },\n\t\n\t watch: {\n\t active: function active(val, old) {\n\t if (val !== old) {\n\t this.$emit('changed', val);\n\t this.$emit(val ? 'enabled' : 'disabled');\n\t this.$emit('input', val);\n\t }\n\t },\n\t value: function value(val, old) {\n\t if (val !== old) {\n\t this.active = _utils.coerce.boolean(this.value);\n\t }\n\t }\n\t },\n\t computed: {\n\t boolDisabled: function boolDisabled() {\n\t return _utils.coerce.boolean(this.disabled);\n\t },\n\t boolReadonly: function boolReadonly() {\n\t return _utils.coerce.boolean(this.readonly);\n\t },\n\t type: function type() {\n\t return this.types[this.value ? this.trueType : this.falseType] || 'btn-default';\n\t }\n\t },\n\t methods: {\n\t toggle: function toggle() {\n\t if (this.boolDisabled || this.boolReadonly) {\n\t return;\n\t }\n\t this.active = !this.active;\n\t }\n\t }\n\t}; //\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('a', {\n\t class: ['btn', _vm.type, {\n\t readonly: _vm.boolReadonly\n\t }],\n\t attrs: {\n\t \"href\": \"javascript:void(0)\",\n\t \"disabled\": _vm.boolDisabled\n\t },\n\t on: {\n\t \"click\": _vm.toggle\n\t }\n\t }, [_c('span', {\n\t class: ['glyphicon', 'glyphicon-' + (_vm.value ? 'ok' : 'remove')]\n\t }), _vm._v(\" \"), _vm._t(\"default\"), _vm._v(\" \"), (_vm.name) ? _c('input', {\n\t attrs: {\n\t \"type\": \"hidden\",\n\t \"name\": _vm.name\n\t },\n\t domProps: {\n\t \"value\": _vm.active ? 1 : 0\n\t }\n\t }) : _vm._e()], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(183)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(185)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(186)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Tooltip.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Tooltip.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _popoverMixins = __webpack_require__(143);\n\t\n\tvar _popoverMixins2 = _interopRequireDefault(_popoverMixins);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t mixins: [_popoverMixins2.default],\n\t props: {\n\t effect: { type: String, default: 'scale' },\n\t trigger: { type: String, default: 'hover' }\n\t }\n\t}; //\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('span', {\n\t ref: \"trigger\"\n\t }, [_vm._t(\"default\"), _vm._v(\" \"), _c('transition', {\n\t attrs: {\n\t \"name\": _vm.effect\n\t }\n\t }, [(_vm.show) ? _c('div', {\n\t ref: \"popover\",\n\t class: ['tooltip', _vm.placement]\n\t }, [_c('div', {\n\t staticClass: \"tooltip-arrow\"\n\t }), _vm._v(\" \"), _c('div', {\n\t staticClass: \"tooltip-inner\"\n\t }, [_vm._t(\"content\", [_c('div', {\n\t domProps: {\n\t \"innerHTML\": _vm._s(_vm.content)\n\t }\n\t })])], 2)]) : _vm._e()])], 2)\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __vue_exports__, __vue_options__\n\tvar __vue_styles__ = {}\n\t\n\t/* styles */\n\t__webpack_require__(188)\n\t\n\t/* script */\n\t__vue_exports__ = __webpack_require__(190)\n\t\n\t/* template */\n\tvar __vue_template__ = __webpack_require__(206)\n\t__vue_options__ = __vue_exports__ = __vue_exports__ || {}\n\tif (\n\t typeof __vue_exports__.default === \"object\" ||\n\t typeof __vue_exports__.default === \"function\"\n\t) {\n\tif (Object.keys(__vue_exports__).some(function (key) { return key !== \"default\" && key !== \"__esModule\" })) {console.error(\"named exports are not supported in *.vue files.\")}\n\t__vue_options__ = __vue_exports__ = __vue_exports__.default\n\t}\n\tif (typeof __vue_options__ === \"function\") {\n\t __vue_options__ = __vue_options__.options\n\t}\n\t__vue_options__.__file = \"/home/koala/projects/tusur/vue-strap/src/Typeahead.vue\"\n\t__vue_options__.render = __vue_template__.render\n\t__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n\t\n\t/* hot reload */\n\tif (false) {}\n\tif (__vue_options__.functional) {console.error(\"[vue-loader] Typeahead.vue: functional components are not supported and should be defined in plain js files using render functions.\")}\n\t\n\tmodule.exports = __vue_exports__\n\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a \"],\"sourceRoot\":\"webpack://\"}]);\n\t\n\t// exports\n\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _typeof2 = __webpack_require__(191);\n\t\n\tvar _typeof3 = _interopRequireDefault(_typeof2);\n\t\n\tvar _utils = __webpack_require__(65);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar DELAY = 300; //\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t//\n\t\n\texports.default = {\n\t props: {\n\t async: { type: String },\n\t data: { type: Array },\n\t delay: { type: Number, default: DELAY },\n\t asyncKey: { type: String, default: null },\n\t limit: { type: Number, default: 8 },\n\t matchCase: { type: Boolean, default: false },\n\t matchStart: { type: Boolean, default: false },\n\t onHit: {\n\t type: Function,\n\t default: function _default(item) {\n\t return item;\n\t }\n\t },\n\t placeholder: { type: String },\n\t template: { type: String },\n\t type: { type: String, default: 'text' },\n\t value: { type: String, default: '' }\n\t },\n\t data: function data() {\n\t return {\n\t asign: '',\n\t showDropdown: false,\n\t noResults: true,\n\t current: 0,\n\t items: [],\n\t val: this.value\n\t };\n\t },\n\t\n\t computed: {\n\t templateComp: function templateComp() {\n\t return {\n\t template: typeof this.template === 'string' ? '' + this.template + '' : '',\n\t props: { item: { default: null } }\n\t };\n\t }\n\t },\n\t watch: {\n\t val: function val(_val, old) {\n\t this.$emit('input', _val);\n\t if (_val !== old && _val !== this.asign) this.__update();\n\t },\n\t value: function value(val) {\n\t if (this.val !== val) {\n\t this.val = val;\n\t }\n\t }\n\t },\n\t methods: {\n\t setItems: function setItems(data) {\n\t var _this = this;\n\t\n\t if (this.async) {\n\t this.items = this.asyncKey ? data[this.asyncKey] : data;\n\t this.items = this.items.slice(0, this.limit);\n\t } else {\n\t this.items = (data || []).filter(function (value) {\n\t if ((typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)) === 'object') {\n\t return true;\n\t }\n\t value = _this.matchCase ? value : value.toLowerCase();\n\t var query = _this.matchCase ? _this.val : _this.val.toLowerCase();\n\t return _this.matchStart ? value.indexOf(query) === 0 : value.indexOf(query) !== -1;\n\t }).slice(0, this.limit);\n\t }\n\t this.showDropdown = this.items.length > 0;\n\t },\n\t setValue: function setValue(value) {\n\t this.asign = value;\n\t this.val = value;\n\t this.items = [];\n\t this.loading = false;\n\t this.showDropdown = false;\n\t },\n\t reset: function reset() {\n\t this.setValue(null);\n\t },\n\t setActive: function setActive(index) {\n\t this.current = index;\n\t },\n\t isActive: function isActive(index) {\n\t return this.current === index;\n\t },\n\t hit: function hit(e) {\n\t e.preventDefault();\n\t this.setValue(this.onHit(this.items[this.current], this));\n\t },\n\t up: function up() {\n\t if (this.current > 0) {\n\t this.current--;\n\t } else {\n\t this.current = this.items.length - 1;\n\t }\n\t },\n\t down: function down() {\n\t if (this.current < this.items.length - 1) {\n\t this.current++;\n\t } else {\n\t this.current = 0;\n\t }\n\t }\n\t },\n\t created: function created() {\n\t this.__update = (0, _utils.delayer)(function () {\n\t var _this2 = this;\n\t\n\t if (!this.val) {\n\t this.reset();\n\t return;\n\t }\n\t this.asign = '';\n\t if (this.async) {\n\t (0, _utils.getJSON)(this.async + this.val).then(function (data) {\n\t _this2.setItems(data);\n\t });\n\t } else if (this.data) {\n\t this.setItems(this.data);\n\t }\n\t }, 'delay', DELAY);\n\t this.__update();\n\t }\n\t};\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _iterator = __webpack_require__(20);\n\t\n\tvar _iterator2 = _interopRequireDefault(_iterator);\n\t\n\tvar _symbol = __webpack_require__(192);\n\t\n\tvar _symbol2 = _interopRequireDefault(_symbol);\n\t\n\tvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n\t return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n\t} : function (obj) {\n\t return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n\t};\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(193), __esModule: true };\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(194);\n\t__webpack_require__(203);\n\t__webpack_require__(204);\n\t__webpack_require__(205);\n\tmodule.exports = __webpack_require__(7).Symbol;\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// ECMAScript 6 symbols shim\n\tvar global = __webpack_require__(6)\n\t , has = __webpack_require__(29)\n\t , DESCRIPTORS = __webpack_require__(15)\n\t , $export = __webpack_require__(5)\n\t , redefine = __webpack_require__(28)\n\t , META = __webpack_require__(195).KEY\n\t , $fails = __webpack_require__(16)\n\t , shared = __webpack_require__(43)\n\t , setToStringTag = __webpack_require__(47)\n\t , uid = __webpack_require__(44)\n\t , wks = __webpack_require__(48)\n\t , wksExt = __webpack_require__(55)\n\t , wksDefine = __webpack_require__(196)\n\t , keyOf = __webpack_require__(197)\n\t , enumKeys = __webpack_require__(198)\n\t , isArray = __webpack_require__(201)\n\t , anObject = __webpack_require__(12)\n\t , toIObject = __webpack_require__(36)\n\t , toPrimitive = __webpack_require__(18)\n\t , createDesc = __webpack_require__(19)\n\t , _create = __webpack_require__(32)\n\t , gOPNExt = __webpack_require__(60)\n\t , $GOPD = __webpack_require__(202)\n\t , $DP = __webpack_require__(11)\n\t , $keys = __webpack_require__(34)\n\t , gOPD = $GOPD.f\n\t , dP = $DP.f\n\t , gOPN = gOPNExt.f\n\t , $Symbol = global.Symbol\n\t , $JSON = global.JSON\n\t , _stringify = $JSON && $JSON.stringify\n\t , PROTOTYPE = 'prototype'\n\t , HIDDEN = wks('_hidden')\n\t , TO_PRIMITIVE = wks('toPrimitive')\n\t , isEnum = {}.propertyIsEnumerable\n\t , SymbolRegistry = shared('symbol-registry')\n\t , AllSymbols = shared('symbols')\n\t , OPSymbols = shared('op-symbols')\n\t , ObjectProto = Object[PROTOTYPE]\n\t , USE_NATIVE = typeof $Symbol == 'function'\n\t , QObject = global.QObject;\n\t// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\n\tvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\t\n\t// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\n\tvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n\t return _create(dP({}, 'a', {\n\t get: function(){ return dP(this, 'a', {value: 7}).a; }\n\t })).a != 7;\n\t}) ? function(it, key, D){\n\t var protoDesc = gOPD(ObjectProto, key);\n\t if(protoDesc)delete ObjectProto[key];\n\t dP(it, key, D);\n\t if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n\t} : dP;\n\t\n\tvar wrap = function(tag){\n\t var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\t sym._k = tag;\n\t return sym;\n\t};\n\t\n\tvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n\t return typeof it == 'symbol';\n\t} : function(it){\n\t return it instanceof $Symbol;\n\t};\n\t\n\tvar $defineProperty = function defineProperty(it, key, D){\n\t if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n\t anObject(it);\n\t key = toPrimitive(key, true);\n\t anObject(D);\n\t if(has(AllSymbols, key)){\n\t if(!D.enumerable){\n\t if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n\t it[HIDDEN][key] = true;\n\t } else {\n\t if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n\t D = _create(D, {enumerable: createDesc(0, false)});\n\t } return setSymbolDesc(it, key, D);\n\t } return dP(it, key, D);\n\t};\n\tvar $defineProperties = function defineProperties(it, P){\n\t anObject(it);\n\t var keys = enumKeys(P = toIObject(P))\n\t , i = 0\n\t , l = keys.length\n\t , key;\n\t while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n\t return it;\n\t};\n\tvar $create = function create(it, P){\n\t return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n\t};\n\tvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n\t var E = isEnum.call(this, key = toPrimitive(key, true));\n\t if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n\t return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n\t};\n\tvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n\t it = toIObject(it);\n\t key = toPrimitive(key, true);\n\t if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n\t var D = gOPD(it, key);\n\t if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n\t return D;\n\t};\n\tvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n\t var names = gOPN(toIObject(it))\n\t , result = []\n\t , i = 0\n\t , key;\n\t while(names.length > i){\n\t if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n\t } return result;\n\t};\n\tvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n\t var IS_OP = it === ObjectProto\n\t , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n\t , result = []\n\t , i = 0\n\t , key;\n\t while(names.length > i){\n\t if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n\t } return result;\n\t};\n\t\n\t// 19.4.1.1 Symbol([description])\n\tif(!USE_NATIVE){\n\t $Symbol = function Symbol(){\n\t if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n\t var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\t var $set = function(value){\n\t if(this === ObjectProto)$set.call(OPSymbols, value);\n\t if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n\t setSymbolDesc(this, tag, createDesc(1, value));\n\t };\n\t if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n\t return wrap(tag);\n\t };\n\t redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n\t return this._k;\n\t });\n\t\n\t $GOPD.f = $getOwnPropertyDescriptor;\n\t $DP.f = $defineProperty;\n\t __webpack_require__(61).f = gOPNExt.f = $getOwnPropertyNames;\n\t __webpack_require__(200).f = $propertyIsEnumerable;\n\t __webpack_require__(199).f = $getOwnPropertySymbols;\n\t\n\t if(DESCRIPTORS && !__webpack_require__(27)){\n\t redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n\t }\n\t\n\t wksExt.f = function(name){\n\t return wrap(wks(name));\n\t }\n\t}\n\t\n\t$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\t\n\tfor(var symbols = (\n\t // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n\t 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n\t).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\t\n\tfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\t\n\t$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n\t // 19.4.2.1 Symbol.for(key)\n\t 'for': function(key){\n\t return has(SymbolRegistry, key += '')\n\t ? SymbolRegistry[key]\n\t : SymbolRegistry[key] = $Symbol(key);\n\t },\n\t // 19.4.2.5 Symbol.keyFor(sym)\n\t keyFor: function keyFor(key){\n\t if(isSymbol(key))return keyOf(SymbolRegistry, key);\n\t throw TypeError(key + ' is not a symbol!');\n\t },\n\t useSetter: function(){ setter = true; },\n\t useSimple: function(){ setter = false; }\n\t});\n\t\n\t$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n\t // 19.1.2.2 Object.create(O [, Properties])\n\t create: $create,\n\t // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n\t defineProperty: $defineProperty,\n\t // 19.1.2.3 Object.defineProperties(O, Properties)\n\t defineProperties: $defineProperties,\n\t // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n\t getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n\t // 19.1.2.7 Object.getOwnPropertyNames(O)\n\t getOwnPropertyNames: $getOwnPropertyNames,\n\t // 19.1.2.8 Object.getOwnPropertySymbols(O)\n\t getOwnPropertySymbols: $getOwnPropertySymbols\n\t});\n\t\n\t// 24.3.2 JSON.stringify(value [, replacer [, space]])\n\t$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n\t var S = $Symbol();\n\t // MS Edge converts symbol values to JSON as {}\n\t // WebKit converts symbol values to JSON as null\n\t // V8 throws on boxed symbols\n\t return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n\t})), 'JSON', {\n\t stringify: function stringify(it){\n\t if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n\t var args = [it]\n\t , i = 1\n\t , replacer, $replacer;\n\t while(arguments.length > i)args.push(arguments[i++]);\n\t replacer = args[1];\n\t if(typeof replacer == 'function')$replacer = replacer;\n\t if($replacer || !isArray(replacer))replacer = function(key, value){\n\t if($replacer)value = $replacer.call(this, key, value);\n\t if(!isSymbol(value))return value;\n\t };\n\t args[1] = replacer;\n\t return _stringify.apply($JSON, args);\n\t }\n\t});\n\t\n\t// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n\t$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n\t// 19.4.3.5 Symbol.prototype[@@toStringTag]\n\tsetToStringTag($Symbol, 'Symbol');\n\t// 20.2.1.9 Math[@@toStringTag]\n\tsetToStringTag(Math, 'Math', true);\n\t// 24.3.3 JSON[@@toStringTag]\n\tsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar META = __webpack_require__(44)('meta')\n\t , isObject = __webpack_require__(13)\n\t , has = __webpack_require__(29)\n\t , setDesc = __webpack_require__(11).f\n\t , id = 0;\n\tvar isExtensible = Object.isExtensible || function(){\n\t return true;\n\t};\n\tvar FREEZE = !__webpack_require__(16)(function(){\n\t return isExtensible(Object.preventExtensions({}));\n\t});\n\tvar setMeta = function(it){\n\t setDesc(it, META, {value: {\n\t i: 'O' + ++id, // object ID\n\t w: {} // weak collections IDs\n\t }});\n\t};\n\tvar fastKey = function(it, create){\n\t // return primitive with prefix\n\t if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\t if(!has(it, META)){\n\t // can't set metadata to uncaught frozen object\n\t if(!isExtensible(it))return 'F';\n\t // not necessary to add metadata\n\t if(!create)return 'E';\n\t // add missing metadata\n\t setMeta(it);\n\t // return object ID\n\t } return it[META].i;\n\t};\n\tvar getWeak = function(it, create){\n\t if(!has(it, META)){\n\t // can't set metadata to uncaught frozen object\n\t if(!isExtensible(it))return true;\n\t // not necessary to add metadata\n\t if(!create)return false;\n\t // add missing metadata\n\t setMeta(it);\n\t // return hash weak collections IDs\n\t } return it[META].w;\n\t};\n\t// add metadata on freeze-family methods calling\n\tvar onFreeze = function(it){\n\t if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n\t return it;\n\t};\n\tvar meta = module.exports = {\n\t KEY: META,\n\t NEED: false,\n\t fastKey: fastKey,\n\t getWeak: getWeak,\n\t onFreeze: onFreeze\n\t};\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(6)\n\t , core = __webpack_require__(7)\n\t , LIBRARY = __webpack_require__(27)\n\t , wksExt = __webpack_require__(55)\n\t , defineProperty = __webpack_require__(11).f;\n\tmodule.exports = function(name){\n\t var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n\t if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n\t};\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar getKeys = __webpack_require__(34)\n\t , toIObject = __webpack_require__(36);\n\tmodule.exports = function(object, el){\n\t var O = toIObject(object)\n\t , keys = getKeys(O)\n\t , length = keys.length\n\t , index = 0\n\t , key;\n\t while(length > index)if(O[key = keys[index++]] === el)return key;\n\t};\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// all enumerable object keys, includes symbols\n\tvar getKeys = __webpack_require__(34)\n\t , gOPS = __webpack_require__(199)\n\t , pIE = __webpack_require__(200);\n\tmodule.exports = function(it){\n\t var result = getKeys(it)\n\t , getSymbols = gOPS.f;\n\t if(getSymbols){\n\t var symbols = getSymbols(it)\n\t , isEnum = pIE.f\n\t , i = 0\n\t , key;\n\t while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n\t } return result;\n\t};\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports) {\n\n\texports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports) {\n\n\texports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 7.2.2 IsArray(argument)\n\tvar cof = __webpack_require__(38);\n\tmodule.exports = Array.isArray || function isArray(arg){\n\t return cof(arg) == 'Array';\n\t};\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar pIE = __webpack_require__(200)\n\t , createDesc = __webpack_require__(19)\n\t , toIObject = __webpack_require__(36)\n\t , toPrimitive = __webpack_require__(18)\n\t , has = __webpack_require__(29)\n\t , IE8_DOM_DEFINE = __webpack_require__(14)\n\t , gOPD = Object.getOwnPropertyDescriptor;\n\t\n\texports.f = __webpack_require__(15) ? gOPD : function getOwnPropertyDescriptor(O, P){\n\t O = toIObject(O);\n\t P = toPrimitive(P, true);\n\t if(IE8_DOM_DEFINE)try {\n\t return gOPD(O, P);\n\t } catch(e){ /* empty */ }\n\t if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n\t};\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(196)('asyncIterator');\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(196)('observable');\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t class: {\n\t open: _vm.showDropdown\n\t },\n\t staticStyle: {\n\t \"position\": \"relative\"\n\t }\n\t }, [_c('input', {\n\t directives: [{\n\t name: \"model\",\n\t rawName: \"v-model\",\n\t value: (_vm.val),\n\t expression: \"val\"\n\t }],\n\t staticClass: \"form-control\",\n\t attrs: {\n\t \"autocomplete\": \"off\",\n\t \"placeholder\": _vm.placeholder,\n\t \"type\": _vm.type\n\t },\n\t domProps: {\n\t \"value\": (_vm.val)\n\t },\n\t on: {\n\t \"blur\": function($event) {\n\t _vm.showDropdown = false\n\t },\n\t \"keydown\": [function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"down\", 40)) { return null; }\n\t $event.preventDefault();\n\t _vm.down($event)\n\t }, function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n\t _vm.hit($event)\n\t }, function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"esc\", 27)) { return null; }\n\t _vm.reset($event)\n\t }, function($event) {\n\t if (!('button' in $event) && _vm._k($event.keyCode, \"up\", 38)) { return null; }\n\t $event.preventDefault();\n\t _vm.up($event)\n\t }],\n\t \"input\": function($event) {\n\t if ($event.target.composing) { return; }\n\t _vm.val = $event.target.value\n\t }\n\t }\n\t }), _vm._v(\" \"), _c('ul', {\n\t ref: \"dropdown\",\n\t staticClass: \"dropdown-menu\"\n\t }, _vm._l((_vm.items), function(item, i) {\n\t return _c('li', {\n\t class: {\n\t active: _vm.isActive(i)\n\t }\n\t }, [_c('a', {\n\t on: {\n\t \"mousedown\": function($event) {\n\t $event.preventDefault();\n\t _vm.hit($event)\n\t },\n\t \"mousemove\": function($event) {\n\t _vm.setActive(i)\n\t }\n\t }\n\t }, [_c(_vm.templateComp, {\n\t tag: \"component\",\n\t attrs: {\n\t \"item\": item\n\t }\n\t })], 1)])\n\t }))])\n\t},staticRenderFns: []}\n\tif (false) {}\n\n/***/ })\n/******/ ])\n});\n;\n//# sourceMappingURL=vue-strap.js.map\n\n//# sourceURL=webpack://%5Bname%5D_%5Bhash%5D/./node_modules/vue-strap/dist/vue-strap.js?");
- addFormatToken(0, ['SSS', 3], 0, 'millisecond');
- addFormatToken(0, ['SSSS', 4], 0, function () {
- return this.millisecond() * 10;
- });
- addFormatToken(0, ['SSSSS', 5], 0, function () {
- return this.millisecond() * 100;
- });
- addFormatToken(0, ['SSSSSS', 6], 0, function () {
- return this.millisecond() * 1000;
- });
- addFormatToken(0, ['SSSSSSS', 7], 0, function () {
- return this.millisecond() * 10000;
- });
- addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
- return this.millisecond() * 100000;
- });
- addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
- return this.millisecond() * 1000000;
- });
+/***/ }),
- // ALIASES
+/***/ "./node_modules/vue/dist/vue.runtime.esm.js":
+/*!**************************************************!*\
+ !*** ./node_modules/vue/dist/vue.runtime.esm.js ***!
+ \**************************************************/
+/*! exports provided: default */
+/*! all exports used */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
- addUnitAlias('millisecond', 'ms');
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global, setImmediate) {/*!\n * Vue.js v2.6.11\n * (c) 2014-2019 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"development\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"development\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (true) {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if ( true && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if ( true && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if ( true &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n true && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if ( true &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n true && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (true) {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n true && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n true && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (true) {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && \"development\" !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (true) {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (true) {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (true) {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (true) {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if ( true && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n true\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if ( true && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (true) {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (true) {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (true) {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n true && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (true) {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. , , v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (true) {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {}\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (true) {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering \n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if ( true && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n true && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n true && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if ( true && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (true) {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (true) {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n true && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if ( true &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if ( true && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (true) {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {}\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if ( true && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if ( true && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n true && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n true\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : undefined\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (true) {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (true) {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if ( true && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (true) {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (true) {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (true) {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if ( true && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if ( true && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = true\n ? expOrFn.toString()\n : undefined;\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n true && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (true) {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {}\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n true && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (true) {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n true && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if ( true && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (true) {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if ( true &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (true) {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (true) {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if ( true && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (true) {\n initProxy(vm);\n } else {}\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if ( true && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if ( true &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if ( true && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if ( true && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (true) {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n true && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (true) {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if ( true && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (true) {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by \n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (true) {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (true) {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (true) {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if ( true &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if ( true &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (true) {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n ', or missing
. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. \n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for