{"version":3,"file":"vendor.aurelia-framework.dd7efe84793559ea.bundle.js","mappings":"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","sources":["webpack://client-app/./node_modules/aurelia-framework/dist/native-modules/aurelia-framework.js"],"sourcesContent":["import { Container } from 'aurelia-dependency-injection';\nexport * from 'aurelia-dependency-injection';\nexport * from 'aurelia-binding';\nexport * from 'aurelia-metadata';\nimport { HtmlBehaviorResource, ViewEngine, BindingLanguage, TemplatingEngine, CompositionTransaction, ViewSlot, ViewResources } from 'aurelia-templating';\nexport * from 'aurelia-templating';\nimport { Loader } from 'aurelia-loader';\nexport * from 'aurelia-loader';\nexport * from 'aurelia-task-queue';\nimport { join, relativeToFile } from 'aurelia-path';\nexport * from 'aurelia-path';\nimport { DOM, PLATFORM } from 'aurelia-pal';\nexport * from 'aurelia-pal';\nimport * as TheLogManager from 'aurelia-logging';\nexport { TheLogManager as LogManager };\n\nvar logger = TheLogManager.getLogger('aurelia');\r\nvar extPattern = /\\.[^/.]+$/;\r\nfunction runTasks(config, tasks) {\r\n var current;\r\n var next = function () {\r\n current = tasks.shift();\r\n if (current) {\r\n return Promise.resolve(current(config)).then(next);\r\n }\r\n return Promise.resolve();\r\n };\r\n return next();\r\n}\r\nfunction loadPlugin(fwConfig, loader, info) {\r\n logger.debug(\"Loading plugin \".concat(info.moduleId, \".\"));\r\n if (typeof info.moduleId === 'string') {\r\n fwConfig.resourcesRelativeTo = info.resourcesRelativeTo;\r\n var id = info.moduleId;\r\n if (info.resourcesRelativeTo.length > 1) {\r\n return loader.normalize(info.moduleId, info.resourcesRelativeTo[1])\r\n .then(function (normalizedId) { return _loadPlugin(normalizedId); });\r\n }\r\n return _loadPlugin(id);\r\n }\r\n else if (typeof info.configure === 'function') {\r\n if (fwConfig.configuredPlugins.indexOf(info.configure) !== -1) {\r\n return Promise.resolve();\r\n }\r\n fwConfig.configuredPlugins.push(info.configure);\r\n return Promise.resolve(info.configure.call(null, fwConfig, info.config || {}));\r\n }\r\n throw new Error(invalidConfigMsg(info.moduleId || info.configure, 'plugin'));\r\n function _loadPlugin(moduleId) {\r\n return loader.loadModule(moduleId).then(function (m) {\r\n if ('configure' in m) {\r\n if (fwConfig.configuredPlugins.indexOf(m.configure) !== -1) {\r\n return Promise.resolve();\r\n }\r\n return Promise.resolve(m.configure(fwConfig, info.config || {})).then(function () {\r\n fwConfig.configuredPlugins.push(m.configure);\r\n fwConfig.resourcesRelativeTo = null;\r\n logger.debug(\"Configured plugin \".concat(info.moduleId, \".\"));\r\n });\r\n }\r\n fwConfig.resourcesRelativeTo = null;\r\n logger.debug(\"Loaded plugin \".concat(info.moduleId, \".\"));\r\n });\r\n }\r\n}\r\nfunction loadResources(aurelia, resourcesToLoad, appResources) {\r\n if (Object.keys(resourcesToLoad).length === 0) {\r\n return Promise.resolve();\r\n }\r\n var viewEngine = aurelia.container.get(ViewEngine);\r\n return Promise.all(Object.keys(resourcesToLoad).map(function (n) { return _normalize(resourcesToLoad[n]); }))\r\n .then(function (loads) {\r\n var names = [];\r\n var importIds = [];\r\n loads.forEach(function (l) {\r\n names.push(undefined);\r\n importIds.push(l.importId);\r\n });\r\n return viewEngine.importViewResources(importIds, names, appResources);\r\n });\r\n function _normalize(load) {\r\n var moduleId = load.moduleId;\r\n var ext = getExt(moduleId);\r\n if (isOtherResource(moduleId)) {\r\n moduleId = removeExt(moduleId);\r\n }\r\n return aurelia.loader.normalize(moduleId, load.relativeTo)\r\n .then(function (normalized) {\r\n return {\r\n name: load.moduleId,\r\n importId: isOtherResource(load.moduleId) ? addOriginalExt(normalized, ext) : normalized\r\n };\r\n });\r\n }\r\n function isOtherResource(name) {\r\n var ext = getExt(name);\r\n if (!ext)\r\n return false;\r\n if (ext === '')\r\n return false;\r\n if (ext === '.js' || ext === '.ts')\r\n return false;\r\n return true;\r\n }\r\n function removeExt(name) {\r\n return name.replace(extPattern, '');\r\n }\r\n function addOriginalExt(normalized, ext) {\r\n return removeExt(normalized) + '.' + ext;\r\n }\r\n}\r\nfunction getExt(name) {\r\n var match = name.match(extPattern);\r\n if (match && match.length > 0) {\r\n return (match[0].split('.'))[1];\r\n }\r\n}\r\nfunction loadBehaviors(config) {\r\n return Promise.all(config.behaviorsToLoad.map(function (m) { return m.load(config.container, m.target); })).then(function () {\r\n config.behaviorsToLoad = null;\r\n });\r\n}\r\nfunction assertProcessed(plugins) {\r\n if (plugins.processed) {\r\n throw new Error('This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.');\r\n }\r\n}\r\nfunction invalidConfigMsg(cfg, type) {\r\n return \"Invalid \".concat(type, \" [\").concat(cfg, \"], \").concat(type, \" must be specified as functions or relative module IDs.\");\r\n}\r\nvar FrameworkConfiguration = (function () {\r\n function FrameworkConfiguration(aurelia) {\r\n var _this = this;\r\n this.aurelia = aurelia;\r\n this.container = aurelia.container;\r\n this.info = [];\r\n this.processed = false;\r\n this.preTasks = [];\r\n this.postTasks = [];\r\n this.behaviorsToLoad = [];\r\n this.configuredPlugins = [];\r\n this.resourcesToLoad = {};\r\n this.preTask(function () { return aurelia.loader.normalize('aurelia-bootstrapper', undefined)\r\n .then(function (name) { return _this.bootstrapperName = name; }); });\r\n this.postTask(function () { return loadResources(aurelia, _this.resourcesToLoad, aurelia.resources); });\r\n }\r\n FrameworkConfiguration.prototype.instance = function (type, instance) {\r\n this.container.registerInstance(type, instance);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.singleton = function (type, implementation) {\r\n this.container.registerSingleton(type, implementation);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.transient = function (type, implementation) {\r\n this.container.registerTransient(type, implementation);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.preTask = function (task) {\r\n assertProcessed(this);\r\n this.preTasks.push(task);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.postTask = function (task) {\r\n assertProcessed(this);\r\n this.postTasks.push(task);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.feature = function (plugin, config) {\r\n if (config === void 0) { config = {}; }\r\n switch (typeof plugin) {\r\n case 'string':\r\n var hasIndex = /\\/index$/i.test(plugin);\r\n var moduleId = hasIndex || getExt(plugin) ? plugin : plugin + '/index';\r\n var root = hasIndex ? plugin.slice(0, -6) : plugin;\r\n this.info.push({ moduleId: moduleId, resourcesRelativeTo: [root, ''], config: config });\r\n break;\r\n case 'function':\r\n this.info.push({ configure: plugin, config: config || {} });\r\n break;\r\n default:\r\n throw new Error(invalidConfigMsg(plugin, 'feature'));\r\n }\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.globalResources = function (resources) {\r\n var _this = this;\r\n assertProcessed(this);\r\n var toAdd = Array.isArray(resources) ? resources : arguments;\r\n var resource;\r\n var resourcesRelativeTo = this.resourcesRelativeTo || ['', ''];\r\n for (var i = 0, ii = toAdd.length; i < ii; ++i) {\r\n resource = toAdd[i];\r\n switch (typeof resource) {\r\n case 'string':\r\n var parent_1 = resourcesRelativeTo[0];\r\n var grandParent = resourcesRelativeTo[1];\r\n var name_1 = resource;\r\n if ((resource.startsWith('./') || resource.startsWith('../')) && parent_1 !== '') {\r\n name_1 = join(parent_1, resource);\r\n }\r\n this.resourcesToLoad[name_1] = { moduleId: name_1, relativeTo: grandParent };\r\n break;\r\n case 'function':\r\n var meta = this.aurelia.resources.autoRegister(this.container, resource);\r\n if (meta instanceof HtmlBehaviorResource && meta.elementName !== null) {\r\n if (this.behaviorsToLoad.push(meta) === 1) {\r\n this.postTask(function () { return loadBehaviors(_this); });\r\n }\r\n }\r\n break;\r\n default:\r\n throw new Error(invalidConfigMsg(resource, 'resource'));\r\n }\r\n }\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.globalName = function (resourcePath, newName) {\r\n assertProcessed(this);\r\n this.resourcesToLoad[resourcePath] = { moduleId: newName, relativeTo: '' };\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.plugin = function (plugin, pluginConfig) {\r\n assertProcessed(this);\r\n var info;\r\n switch (typeof plugin) {\r\n case 'string':\r\n info = { moduleId: plugin, resourcesRelativeTo: [plugin, ''], config: pluginConfig || {} };\r\n break;\r\n case 'function':\r\n info = { configure: plugin, config: pluginConfig || {} };\r\n break;\r\n default:\r\n throw new Error(invalidConfigMsg(plugin, 'plugin'));\r\n }\r\n this.info.push(info);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype._addNormalizedPlugin = function (name, config) {\r\n var _this = this;\r\n var plugin = { moduleId: name, resourcesRelativeTo: [name, ''], config: config || {} };\r\n this.info.push(plugin);\r\n this.preTask(function () {\r\n var relativeTo = [name, _this.bootstrapperName];\r\n plugin.moduleId = name;\r\n plugin.resourcesRelativeTo = relativeTo;\r\n return Promise.resolve();\r\n });\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.defaultBindingLanguage = function () {\r\n return this._addNormalizedPlugin('aurelia-templating-binding');\r\n };\r\n FrameworkConfiguration.prototype.router = function () {\r\n return this._addNormalizedPlugin('aurelia-templating-router');\r\n };\r\n FrameworkConfiguration.prototype.history = function () {\r\n return this._addNormalizedPlugin('aurelia-history-browser');\r\n };\r\n FrameworkConfiguration.prototype.defaultResources = function () {\r\n return this._addNormalizedPlugin('aurelia-templating-resources');\r\n };\r\n FrameworkConfiguration.prototype.eventAggregator = function () {\r\n return this._addNormalizedPlugin('aurelia-event-aggregator');\r\n };\r\n FrameworkConfiguration.prototype.basicConfiguration = function () {\r\n return this.defaultBindingLanguage().defaultResources().eventAggregator();\r\n };\r\n FrameworkConfiguration.prototype.standardConfiguration = function () {\r\n return this.basicConfiguration().history().router();\r\n };\r\n FrameworkConfiguration.prototype.developmentLogging = function (level) {\r\n var _this = this;\r\n var logLevel = level ? TheLogManager.logLevel[level] : undefined;\r\n if (logLevel === undefined) {\r\n logLevel = TheLogManager.logLevel.debug;\r\n }\r\n this.preTask(function () {\r\n return _this.aurelia.loader.normalize('aurelia-logging-console', _this.bootstrapperName).then(function (name) {\r\n return _this.aurelia.loader.loadModule(name).then(function (m) {\r\n TheLogManager.addAppender(new m.ConsoleAppender());\r\n TheLogManager.setLevel(logLevel);\r\n });\r\n });\r\n });\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.apply = function () {\r\n var _this = this;\r\n if (this.processed) {\r\n return Promise.resolve();\r\n }\r\n return runTasks(this, this.preTasks).then(function () {\r\n var loader = _this.aurelia.loader;\r\n var info = _this.info;\r\n var current;\r\n var next = function () {\r\n current = info.shift();\r\n if (current) {\r\n return loadPlugin(_this, loader, current).then(next);\r\n }\r\n _this.processed = true;\r\n _this.configuredPlugins = null;\r\n return Promise.resolve();\r\n };\r\n return next().then(function () { return runTasks(_this, _this.postTasks); });\r\n });\r\n };\r\n return FrameworkConfiguration;\r\n}());\n\nfunction preventActionlessFormSubmit() {\r\n DOM.addEventListener('submit', function (evt) {\r\n var target = evt.target;\r\n var action = target.action;\r\n if (target.tagName.toLowerCase() === 'form' && !action) {\r\n evt.preventDefault();\r\n }\r\n }, false);\r\n}\r\nvar Aurelia = (function () {\r\n function Aurelia(loader, container, resources) {\r\n this.loader = loader || new PLATFORM.Loader();\r\n this.container = container || (new Container()).makeGlobal();\r\n this.resources = resources || new ViewResources();\r\n this.use = new FrameworkConfiguration(this);\r\n this.logger = TheLogManager.getLogger('aurelia');\r\n this.hostConfigured = false;\r\n this.host = null;\r\n this.use.instance(Aurelia, this);\r\n this.use.instance(Loader, this.loader);\r\n this.use.instance(ViewResources, this.resources);\r\n }\r\n Aurelia.prototype.start = function () {\r\n var _this = this;\r\n if (this._started) {\r\n return this._started;\r\n }\r\n this.logger.info('Aurelia Starting');\r\n return this._started = this.use.apply().then(function () {\r\n preventActionlessFormSubmit();\r\n if (!_this.container.hasResolver(BindingLanguage)) {\r\n var message = 'You must configure Aurelia with a BindingLanguage implementation.';\r\n _this.logger.error(message);\r\n throw new Error(message);\r\n }\r\n _this.logger.info('Aurelia Started');\r\n var evt = DOM.createCustomEvent('aurelia-started', { bubbles: true, cancelable: true });\r\n DOM.dispatchEvent(evt);\r\n return _this;\r\n });\r\n };\r\n Aurelia.prototype.enhance = function (bindingContext, applicationHost) {\r\n var _this = this;\r\n if (bindingContext === void 0) { bindingContext = {}; }\r\n if (applicationHost === void 0) { applicationHost = null; }\r\n this._configureHost(applicationHost || DOM.querySelectorAll('body')[0]);\r\n return new Promise(function (resolve) {\r\n var engine = _this.container.get(TemplatingEngine);\r\n _this.root = engine.enhance({ container: _this.container, element: _this.host, resources: _this.resources, bindingContext: bindingContext });\r\n _this.root.attached();\r\n _this._onAureliaComposed();\r\n resolve(_this);\r\n });\r\n };\r\n Aurelia.prototype.setRoot = function (root, applicationHost) {\r\n var _this = this;\r\n if (root === void 0) { root = null; }\r\n if (applicationHost === void 0) { applicationHost = null; }\r\n var instruction = {};\r\n if (this.root && this.root.viewModel && this.root.viewModel.router) {\r\n this.root.viewModel.router.deactivate();\r\n this.root.viewModel.router.reset();\r\n }\r\n this._configureHost(applicationHost);\r\n var engine = this.container.get(TemplatingEngine);\r\n var transaction = this.container.get(CompositionTransaction);\r\n delete transaction.initialComposition;\r\n if (!root) {\r\n if (this.configModuleId) {\r\n root = relativeToFile('./app', this.configModuleId);\r\n }\r\n else {\r\n root = 'app';\r\n }\r\n }\r\n instruction.viewModel = root;\r\n instruction.container = instruction.childContainer = this.container;\r\n instruction.viewSlot = this.hostSlot;\r\n instruction.host = this.host;\r\n return engine.compose(instruction).then(function (r) {\r\n _this.root = r;\r\n instruction.viewSlot.attached();\r\n _this._onAureliaComposed();\r\n return _this;\r\n });\r\n };\r\n Aurelia.prototype._configureHost = function (applicationHost) {\r\n if (this.hostConfigured) {\r\n return;\r\n }\r\n applicationHost = applicationHost || this.host;\r\n if (!applicationHost || typeof applicationHost === 'string') {\r\n this.host = DOM.getElementById(applicationHost || 'applicationHost');\r\n }\r\n else {\r\n this.host = applicationHost;\r\n }\r\n if (!this.host) {\r\n throw new Error('No applicationHost was specified.');\r\n }\r\n this.hostConfigured = true;\r\n this.host.aurelia = this;\r\n this.hostSlot = new ViewSlot(this.host, true);\r\n this.hostSlot.transformChildNodesIntoView();\r\n this.container.registerInstance(DOM.boundary, this.host);\r\n };\r\n Aurelia.prototype._onAureliaComposed = function () {\r\n var evt = DOM.createCustomEvent('aurelia-composed', { bubbles: true, cancelable: true });\r\n setTimeout(function () { return DOM.dispatchEvent(evt); }, 1);\r\n };\r\n return Aurelia;\r\n}());\n\nexport { Aurelia, FrameworkConfiguration };\n//# sourceMappingURL=aurelia-framework.js.map\n"],"names":["logger","extPattern","runTasks","config","tasks","current","next","shift","Promise","resolve","then","getExt","name","match","length","split","assertProcessed","plugins","processed","Error","invalidConfigMsg","cfg","type","concat","FrameworkConfiguration","aurelia","_this","this","container","info","preTasks","postTasks","behaviorsToLoad","configuredPlugins","resourcesToLoad","preTask","loader","normalize","undefined","bootstrapperName","postTask","appResources","Object","keys","viewEngine","get","all","map","n","moduleId","load","ext","isOtherResource","removeExt","relativeTo","normalized","importId","addOriginalExt","loads","names","importIds","forEach","l","push","importViewResources","replace","loadResources","resources","prototype","instance","registerInstance","singleton","implementation","registerSingleton","transient","registerTransient","task","feature","plugin","hasIndex","test","root","slice","resourcesRelativeTo","configure","globalResources","resource","toAdd","Array","isArray","arguments","i","ii","parent_1","grandParent","name_1","startsWith","meta","autoRegister","elementName","m","target","globalName","resourcePath","newName","pluginConfig","_addNormalizedPlugin","defaultBindingLanguage","router","history","defaultResources","eventAggregator","basicConfiguration","standardConfiguration","developmentLogging","level","logLevel","debug","loadModule","ConsoleAppender","apply","fwConfig","id","normalizedId","_loadPlugin","indexOf","call","loadPlugin","Aurelia","Loader","makeGlobal","use","hostConfigured","host","start","_started","addEventListener","evt","action","tagName","toLowerCase","preventDefault","hasResolver","message","error","createCustomEvent","bubbles","cancelable","dispatchEvent","enhance","bindingContext","applicationHost","_configureHost","querySelectorAll","engine","element","attached","_onAureliaComposed","setRoot","instruction","viewModel","deactivate","reset","initialComposition","configModuleId","childContainer","viewSlot","hostSlot","compose","r","getElementById","transformChildNodesIntoView","boundary","setTimeout"],"sourceRoot":""}