@winged/core
Version:
Morden webapp framekwork made only for ts developers. (UNDER DEVELOPMENT, PLEASE DO NOT USE)
1 lines • 231 kB
JSON
{"id":"src/View.ts","dependencies":[{"name":"/home/giyya/workspace/view-next/packages/core/tsconfig.json","includedInParent":true,"mtime":1533107964952},{"name":"/home/giyya/workspace/view-next/packages/core/package.json","includedInParent":true,"mtime":1533108697710},{"name":"reflect-metadata","loc":{"line":1,"column":7},"parent":"/home/giyya/workspace/view-next/packages/core/src/View.ts","resolved":"/home/giyya/workspace/view-next/packages/core/node_modules/reflect-metadata/Reflect.js"},{"name":"./utils","loc":{"line":2,"column":22},"parent":"/home/giyya/workspace/view-next/packages/core/src/View.ts","resolved":"/home/giyya/workspace/view-next/packages/core/src/utils.ts"},{"name":"./vdom/vdom","loc":{"line":3,"column":43},"parent":"/home/giyya/workspace/view-next/packages/core/src/View.ts","resolved":"/home/giyya/workspace/view-next/packages/core/src/vdom/vdom.ts"},{"name":"./vdom/vdomUtils","loc":{"line":4,"column":26},"parent":"/home/giyya/workspace/view-next/packages/core/src/View.ts","resolved":"/home/giyya/workspace/view-next/packages/core/src/vdom/vdomUtils.ts"},{"name":"./viewModel/ViewModel","loc":{"line":5,"column":26},"parent":"/home/giyya/workspace/view-next/packages/core/src/View.ts","resolved":"/home/giyya/workspace/view-next/packages/core/src/viewModel/ViewModel.ts"}],"generated":{"js":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.View = undefined;\nexports.vSubviewMap = vSubviewMap;\nexports.vState = vState;\nexports.vComputed = vComputed;\nexports.vWatch = vWatch;\n\nrequire('reflect-metadata');\n\nvar _utils = require('./utils');\n\nvar _vdom = require('./vdom/vdom');\n\nvar _vdomUtils = require('./vdom/vdomUtils');\n\nvar _ViewModel = require('./viewModel/ViewModel');\n\nvar M_SUBVIEW_PROPS = Symbol('custom:SubviewProps');\nvar M_STATES = Symbol('custom:ViewStates');\nfunction vSubviewMap() {\n var subviewPropDescribers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n subviewPropDescribers[_i] = arguments[_i];\n }\n return function (view, _) {\n var describers = {};\n for (var _i = 0, subviewPropDescribers_1 = subviewPropDescribers; _i < subviewPropDescribers_1.length; _i++) {\n var d = subviewPropDescribers_1[_i];\n _vdomUtils.vdomUtils.mergeStateDescribers(describers, d);\n }\n Reflect.defineMetadata(M_SUBVIEW_PROPS, describers, view);\n };\n}\nfunction vState(describer) {\n return function (view, stateName) {\n var ViewReflect = View;\n var metadata = ViewReflect.getMetadata(view);\n ViewReflect.defineState(metadata, stateName, describer);\n };\n}\nfunction vComputed() {\n var dependencies = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n dependencies[_i] = arguments[_i];\n }\n return function (view, stateName, descriptor) {\n var ViewReflect = View;\n var metadata = ViewReflect.getMetadata(view);\n if (!descriptor || !descriptor.get) {\n throw new Error(\"Invalid computedState '\" + stateName + \"' in \" + metadata.className + \": Must be defined as a getter\");\n }\n if (descriptor.set) {\n throw new Error(\"Invalid computedState '\" + stateName + \"' in \" + metadata.className + \": Can't have a setter\");\n }\n ViewReflect.defineComputedState(metadata, descriptor.get, stateName, dependencies);\n };\n}\nfunction vWatch() {\n var dependencies = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n dependencies[_i] = arguments[_i];\n }\n return function (view, key, descriptor) {\n var ViewReflect = View;\n var metadata = ViewReflect.getMetadata(view);\n var callback = view[key];\n if (typeof callback !== 'function') {\n throw new Error(' Decorator vWatch must be used on a method member');\n }\n ViewReflect.defineStateWatcher(metadata, callback, dependencies);\n };\n}\nvar View = /** @class */function () {\n function View(props) {\n var _this = this;\n this._metadata = View.getMetadata(this);\n this._initialProps = props || {};\n var stateMeta = View.getMetadata(this);\n if (!stateMeta.describerMerged) {\n this.mergeStateMetaDescribers(stateMeta);\n }\n this._viewModel = new _ViewModel.ViewModel({}, stateMeta.renderableStateDescriber);\n this._viewModel._watchBy(this, function (modificationTree) {\n _this.update(modificationTree);\n });\n this.initView();\n }\n Object.defineProperty(View.prototype, \"_viewClassName\", {\n get: function get() {\n return \"[\" + this.constructor.name + \"]\";\n },\n enumerable: true,\n configurable: true\n });\n View.getMetadata = function (instance) {\n var metadata = Reflect.getMetadata(M_STATES, instance);\n if (!metadata) {\n metadata = {\n describerMerged: false,\n renderableStateDescriber: {},\n computedStates: {},\n stateWatchers: [],\n className: instance._viewClassName\n };\n Reflect.defineMetadata(M_STATES, metadata, instance);\n }\n return metadata;\n };\n View.defineState = function (metadata, stateName, describer) {\n var renderableStateDescriber = metadata.renderableStateDescriber;\n if (renderableStateDescriber[stateName]) {\n return;\n }\n renderableStateDescriber[stateName] = describer || true;\n };\n View.defineComputedState = function (metadata, definedGetter, stateName, dependencies) {\n if (metadata.computedStates[stateName]) {\n return;\n }\n var firstLevelDependencies = _utils.utils.listToMap(dependencies);\n // check loop structure\n for (var field in metadata.computedStates) {\n var info = metadata.computedStates[field];\n if (info.firstLevelDependencies[stateName] && firstLevelDependencies[field]) {\n throw new Error(\"ComputedState \\\"\" + field + \"\\\" and \\\"\" + stateName + \"\\\" has bidirectional dependencies\");\n }\n }\n metadata.computedStates[stateName] = {\n getter: definedGetter, firstLevelDependencies: firstLevelDependencies\n };\n };\n View.defineStateWatcher = function (metadata, callback, dependencies) {\n metadata.stateWatchers.push({\n callback: callback, firstLevelDependencies: _utils.utils.listToMap(dependencies)\n });\n };\n // ============\n // logical part\n // ============\n View.prototype.appendTo = function (container) {\n if (this._insertTarget || this._vRoot && this._vRoot.domCreated) {\n throw new Error(\"Can't call .appendTo() of \" + this._viewClassName + \" because it's already rendered\");\n }\n if (this._vRoot) {\n this.initialRender(container, { node: undefined });\n this.onMount(this._initialProps);\n delete this._initialProps;\n } else {\n this._insertTarget = { container: container };\n }\n };\n View.prototype.insertAfter = function (prevSiblingNode) {\n if (this._insertTarget || this._vRoot && this._vRoot.domCreated) {\n throw new Error(\"Can't call .insertAfter() of \" + this._viewClassName + \" because it's already rendered\");\n }\n if (this._vRoot) {\n this.initialRender(prevSiblingNode.parentElement, { node: prevSiblingNode });\n this.onMount(this._initialProps);\n delete this._initialProps;\n } else {\n this._insertTarget = { container: prevSiblingNode.parentElement, prevSiblingNode: prevSiblingNode };\n }\n };\n /** nothing but a shorthand, do the exact same thing as direct assignment */\n // tslint:disable-next-line:no-empty\n View.prototype.setState = function (state) {};\n // life cycle methods\n // tslint:disable-next-line:no-empty\n View.prototype.onMount = function (props) {};\n // tslint:disable-next-line:no-empty\n View.prototype.onPropsChange = function (props) {};\n // tslint:disable-next-line:no-empty\n View.prototype.onBeforeDestroy = function () {};\n /** abstract v.ts view class will generate and implement this */\n View.prototype.getPropsDescriber = function () {\n return null;\n };\n View.prototype.mergeStateMetaDescribers = function (stateMeta) {\n var subviewPropsMeta = Reflect.getMetadata(M_SUBVIEW_PROPS, this);\n _vdomUtils.vdomUtils.mergeStateDescribers(stateMeta.renderableStateDescriber, subviewPropsMeta);\n for (var stateName in stateMeta.computedStates) {\n for (var name in stateMeta.computedStates[stateName].firstLevelDependencies) {\n if (!stateMeta.renderableStateDescriber[name]) {\n stateMeta.renderableStateDescriber[name] = true;\n }\n }\n }\n for (var stateName in stateMeta.stateWatchers) {\n for (var name in stateMeta.stateWatchers[stateName].firstLevelDependencies) {\n if (!stateMeta.renderableStateDescriber[name]) {\n stateMeta.renderableStateDescriber[name] = true;\n }\n }\n }\n stateMeta.describerMerged = true;\n Reflect.defineMetadata(M_STATES, stateMeta, this);\n };\n View.prototype.initView = function () {\n var _this = this;\n this.defineProperties();\n this._subviewPropsInfo = this._linkSubviewProps();\n // wait for impl class constructor to initialize property\n setTimeout(function () {\n _this.createVRoot();\n }, 0);\n // NOTE: suppressing unused private method exception;\n // tslint:disable-next-line:no-unused-expression\n View.defineState;\n // tslint:disable-next-line:no-unused-expression\n View.defineComputedState;\n // tslint:disable-next-line:no-unused-expression\n View.defineStateWatcher;\n // tslint:disable-next-line:no-unused-expression\n this.setPropsFromParent;\n // tslint:disable-next-line:no-unused-expression\n this.setSlotPluginsFromParent;\n // tslint:disable-next-line:no-unused-expression\n this.destroy;\n };\n View.prototype.destroy = function () {\n this.onBeforeDestroy();\n if (this._viewModel) {\n this._viewModel._destory();\n delete this._viewModel;\n }\n if (this._vRoot) {\n this._vRoot.destroy();\n }\n this._vNodeRegister.destory();\n delete this._vRoot;\n delete this._vNodeRegister;\n delete this._metadata;\n };\n View.prototype.createVRoot = function () {\n // parse vdom expressions\n var register = new _vdom.VNodeRegister(this);\n register.registerSubviewNode = this.registerSubviewNode.bind(this);\n register.registerSlotNode = this.registerSlotNode.bind(this);\n this._vNodeRegister = register;\n this._vRoot = _vdom.vDomFactory.createVDomRoot(this._contents, register);\n if (this._insertTarget) {\n var _a = this._insertTarget,\n container = _a.container,\n prevSiblingNode = _a.prevSiblingNode;\n delete this._insertTarget;\n if (prevSiblingNode) {\n this.insertAfter(prevSiblingNode);\n } else {\n this.appendTo(container);\n }\n }\n };\n View.prototype.defineProperties = function () {\n var _this = this;\n var _a = this._metadata,\n renderableStateDescriber = _a.renderableStateDescriber,\n computedStates = _a.computedStates;\n console.log('METADATA', this._metadata);\n var _loop_1 = function _loop_1(field) {\n Object.defineProperty(this_1, field, {\n get: function get() {\n return _this._viewModel._get(field);\n },\n set: function set() {\n throw new Error(\"Computed State '\" + field + \"' of \" + _this._viewClassName + \" is not writable\");\n },\n configurable: false\n });\n };\n var this_1 = this;\n // define states\n // define computed states\n for (var field in computedStates) {\n _loop_1(field);\n }\n var _loop_2 = function _loop_2(field) {\n if (computedStates[field]) {\n return \"continue\";\n }\n Object.defineProperty(this_2, field, {\n get: function get() {\n return this._viewModel._get(field);\n },\n set: function set(value) {\n this._viewModel._set(field, value);\n }\n });\n };\n var this_2 = this;\n for (var field in renderableStateDescriber) {\n _loop_2(field);\n }\n // define propsType\n Object.defineProperty(this, '_propsType', {\n get: function get() {\n throw new Error('View.propsType is only for typing purpose, can\\'t be get as a property');\n },\n set: function set() {\n throw new Error('View.propsType is only for typing purpose, can\\'t be set as a property');\n }\n });\n };\n View.prototype.setPropsFromParent = function (props) {\n if (!this._vRoot) {\n this._initialProps = props;\n } else {\n this.onPropsChange(props);\n }\n };\n View.prototype.setSlotPluginsFromParent = function (slotPlugins) {\n this._slotPlugins = slotPlugins;\n };\n // ============\n // render part\n // ============\n View.prototype.registerSubviewNode = function (node) {\n if (!this._subviewPropsInfo[node.subviewName]) {\n console.error(this._subviewPropsInfo);\n throw new Error(\"Can't find subview props info for \" + node.subviewName + \" in \" + this._viewClassName);\n }\n node.setViewClass(this._subviewMap[node.viewClassPath]);\n for (var eventName in node.outputEventNames) {\n var handlerName = node.outputEventNames[eventName];\n var handler = this[handlerName];\n if (typeof handler !== 'function') {\n throw new Error(\"invalid subview event handler. handlerName:\" + handlerName);\n }\n node.outputEventHandlers[eventName] = handler;\n }\n var _a = this._subviewPropsInfo[node.subviewName],\n dependencies = _a.dependencies,\n getter = _a.getter;\n return { propsGetter: getter, stateDependencies: dependencies };\n };\n View.prototype.registerSlotNode = function (node) {\n node.registerSlotPlugin(this._slotPlugins[node.slotName]);\n };\n View.prototype.initialRender = function (container, prevSibling) {\n // initial evaluation of computed states\n this._vRoot.initialRender(this._viewModel, container, prevSibling);\n };\n View.prototype.update = function (modificationTree) {\n var _a = View.getMetadata(this),\n computedStates = _a.computedStates,\n stateWatchers = _a.stateWatchers;\n if (this._vRoot) {\n console.log('UPDATE', modificationTree);\n this._vRoot.update(this._viewModel, modificationTree);\n }\n // TODO: need to consider dead loops:\n // - like bidirectional computed state dependencies\n // - computedState \"b\" depends on \"a\", and a watcher change \"a\" on the change of \"b\"\n for (var entryField in modificationTree) {\n // update computed states\n for (var computedStateName in computedStates) {\n var _b = computedStates[computedStateName],\n firstLevelDependencies = _b.firstLevelDependencies,\n getter = _b.getter;\n if (firstLevelDependencies[entryField]) {\n var res = null;\n try {\n res = getter.call(this);\n } catch (error) {\n console.warn(\"Unable to calculate computedState '\" + computedStateName + \"' of \" + this._viewClassName + \":\");\n console.warn(error);\n }\n if (res !== this._viewModel._get(computedStateName)) {\n console.log('recalculate computed state', computedStateName, JSON.stringify(res));\n this._viewModel._set(computedStateName, res);\n }\n }\n }\n // update watchers\n for (var _i = 0, stateWatchers_1 = stateWatchers; _i < stateWatchers_1.length; _i++) {\n var watcherInfo = stateWatchers_1[_i];\n if (watcherInfo.firstLevelDependencies[entryField]) {\n watcherInfo.callback();\n }\n }\n }\n };\n View.propsDescriber = {};\n return View;\n}();\nexports.View = View;","map":{"mappings":[{"source":"src/View.ts","name":null,"original":{"line":58,"column":6},"generated":{"line":7,"column":8}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":6},"generated":{"line":7,"column":22}},{"source":"src/View.ts","name":null,"original":{"line":68,"column":6},"generated":{"line":8,"column":8}},{"source":"src/View.ts","name":null,"original":{"line":68,"column":6},"generated":{"line":8,"column":17}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":6},"generated":{"line":9,"column":8}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":6},"generated":{"line":9,"column":20}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":6},"generated":{"line":10,"column":8}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":6},"generated":{"line":10,"column":17}},{"source":"src/View.ts","name":null,"original":{"line":1,"column":0},"generated":{"line":12,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":4,"column":0},"generated":{"line":14,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":8,"column":0},"generated":{"line":16,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":9,"column":0},"generated":{"line":18,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":10,"column":0},"generated":{"line":20,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":25,"column":0},"generated":{"line":22,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":25,"column":6},"generated":{"line":22,"column":4}},{"source":"src/View.ts","name":null,"original":{"line":25,"column":24},"generated":{"line":22,"column":22}},{"source":"src/View.ts","name":null,"original":{"line":25,"column":31},"generated":{"line":22,"column":29}},{"source":"src/View.ts","name":null,"original":{"line":25,"column":24},"generated":{"line":22,"column":50}},{"source":"src/View.ts","name":null,"original":{"line":25,"column":0},"generated":{"line":22,"column":51}},{"source":"src/View.ts","name":null,"original":{"line":26,"column":0},"generated":{"line":23,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":26,"column":6},"generated":{"line":23,"column":4}},{"source":"src/View.ts","name":null,"original":{"line":26,"column":17},"generated":{"line":23,"column":15}},{"source":"src/View.ts","name":null,"original":{"line":26,"column":24},"generated":{"line":23,"column":22}},{"source":"src/View.ts","name":null,"original":{"line":26,"column":17},"generated":{"line":23,"column":41}},{"source":"src/View.ts","name":null,"original":{"line":26,"column":0},"generated":{"line":23,"column":42}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":6},"generated":{"line":24,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":6},"generated":{"line":24,"column":9}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":6},"generated":{"line":24,"column":20}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":6},"generated":{"line":24,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":25,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":25,"column":8}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":25,"column":32}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":25,"column":34}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":26,"column":9}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":26,"column":13}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":26,"column":18}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":26,"column":21}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":26,"column":26}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":26,"column":36}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":26,"column":44}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":80},"generated":{"line":26,"column":50}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":27,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":27,"column":30}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":27,"column":32}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":27,"column":36}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":27,"column":46}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":27,"column":48}},{"source":"src/View.ts","name":null,"original":{"line":58,"column":28},"generated":{"line":27,"column":49}},{"source":"src/View.ts","name":null,"original":{"line":59,"column":2},"generated":{"line":29,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":59,"column":9},"generated":{"line":29,"column":11}},{"source":"src/View.ts","name":null,"original":{"line":59,"column":10},"generated":{"line":29,"column":21}},{"source":"src/View.ts","name":null,"original":{"line":59,"column":9},"generated":{"line":29,"column":25}},{"source":"src/View.ts","name":null,"original":{"line":59,"column":26},"generated":{"line":29,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":59,"column":9},"generated":{"line":29,"column":28}},{"source":"src/View.ts","name":null,"original":{"line":59,"column":35},"generated":{"line":29,"column":30}},{"source":"src/View.ts","name":null,"original":{"line":60,"column":4},"generated":{"line":30,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":60,"column":10},"generated":{"line":30,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":60,"column":49},"generated":{"line":30,"column":25}},{"source":"src/View.ts","name":null,"original":{"line":60,"column":4},"generated":{"line":30,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":4},"generated":{"line":31,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":20},"generated":{"line":31,"column":13}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":20},"generated":{"line":31,"column":17}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":20},"generated":{"line":31,"column":22}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":20},"generated":{"line":31,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":20},"generated":{"line":31,"column":25}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":20},"generated":{"line":31,"column":51}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":4},"generated":{"line":31,"column":72}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":20},"generated":{"line":31,"column":74}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":20},"generated":{"line":31,"column":79}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":20},"generated":{"line":31,"column":103}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":4},"generated":{"line":31,"column":109}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":20},"generated":{"line":31,"column":111}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":4},"generated":{"line":31,"column":115}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":43},"generated":{"line":31,"column":117}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":9},"generated":{"line":32,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":15},"generated":{"line":32,"column":16}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":16},"generated":{"line":32,"column":20}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":16},"generated":{"line":32,"column":44}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":16},"generated":{"line":32,"column":46}},{"source":"src/View.ts","name":null,"original":{"line":61,"column":9},"generated":{"line":32,"column":47}},{"source":"src/View.ts","name":null,"original":{"line":62,"column":6},"generated":{"line":33,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":62,"column":16},"generated":{"line":33,"column":33}},{"source":"src/View.ts","name":null,"original":{"line":62,"column":6},"generated":{"line":33,"column":53}},{"source":"src/View.ts","name":null,"original":{"line":62,"column":37},"generated":{"line":33,"column":54}},{"source":"src/View.ts","name":null,"original":{"line":62,"column":6},"generated":{"line":33,"column":64}},{"source":"src/View.ts","name":null,"original":{"line":62,"column":49},"generated":{"line":33,"column":66}},{"source":"src/View.ts","name":null,"original":{"line":62,"column":6},"generated":{"line":33,"column":67}},{"source":"src/View.ts","name":null,"original":{"line":63,"column":5},"generated":{"line":34,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":64,"column":4},"generated":{"line":35,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":64,"column":12},"generated":{"line":35,"column":16}},{"source":"src/View.ts","name":null,"original":{"line":64,"column":4},"generated":{"line":35,"column":30}},{"source":"src/View.ts","name":null,"original":{"line":64,"column":27},"generated":{"line":35,"column":31}},{"source":"src/View.ts","name":null,"original":{"line":64,"column":4},"generated":{"line":35,"column":46}},{"source":"src/View.ts","name":null,"original":{"line":64,"column":44},"generated":{"line":35,"column":48}},{"source":"src/View.ts","name":null,"original":{"line":64,"column":4},"generated":{"line":35,"column":58}},{"source":"src/View.ts","name":null,"original":{"line":64,"column":56},"generated":{"line":35,"column":60}},{"source":"src/View.ts","name":null,"original":{"line":64,"column":4},"generated":{"line":35,"column":64}},{"source":"src/View.ts","name":null,"original":{"line":65,"column":3},"generated":{"line":36,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":59,"column":2},"generated":{"line":36,"column":5}},{"source":"src/View.ts","name":null,"original":{"line":66,"column":1},"generated":{"line":37,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":68,"column":6},"generated":{"line":38,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":68,"column":6},"generated":{"line":38,"column":9}},{"source":"src/View.ts","name":null,"original":{"line":68,"column":6},"generated":{"line":38,"column":15}},{"source":"src/View.ts","name":null,"original":{"line":68,"column":23},"generated":{"line":38,"column":16}},{"source":"src/View.ts","name":null,"original":{"line":68,"column":6},"generated":{"line":38,"column":25}},{"source":"src/View.ts","name":null,"original":{"line":68,"column":59},"generated":{"line":38,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":69,"column":2},"generated":{"line":39,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":69,"column":9},"generated":{"line":39,"column":11}},{"source":"src/View.ts","name":null,"original":{"line":69,"column":10},"generated":{"line":39,"column":21}},{"source":"src/View.ts","name":null,"original":{"line":69,"column":9},"generated":{"line":39,"column":25}},{"source":"src/View.ts","name":null,"original":{"line":69,"column":26},"generated":{"line":39,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":69,"column":9},"generated":{"line":39,"column":36}},{"source":"src/View.ts","name":null,"original":{"line":69,"column":43},"generated":{"line":39,"column":38}},{"source":"src/View.ts","name":null,"original":{"line":70,"column":4},"generated":{"line":40,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":70,"column":10},"generated":{"line":40,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":70,"column":45},"generated":{"line":40,"column":26}},{"source":"src/View.ts","name":null,"original":{"line":70,"column":4},"generated":{"line":40,"column":30}},{"source":"src/View.ts","name":null,"original":{"line":71,"column":4},"generated":{"line":41,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":71,"column":10},"generated":{"line":41,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":71,"column":21},"generated":{"line":41,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":71,"column":33},"generated":{"line":41,"column":35}},{"source":"src/View.ts","name":null,"original":{"line":71,"column":21},"generated":{"line":41,"column":46}},{"source":"src/View.ts","name":null,"original":{"line":71,"column":45},"generated":{"line":41,"column":47}},{"source":"src/View.ts","name":null,"original":{"line":71,"column":21},"generated":{"line":41,"column":51}},{"source":"src/View.ts","name":null,"original":{"line":71,"column":4},"generated":{"line":41,"column":52}},{"source":"src/View.ts","name":null,"original":{"line":72,"column":4},"generated":{"line":42,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":72,"column":16},"generated":{"line":42,"column":20}},{"source":"src/View.ts","name":null,"original":{"line":72,"column":4},"generated":{"line":42,"column":31}},{"source":"src/View.ts","name":null,"original":{"line":72,"column":28},"generated":{"line":42,"column":32}},{"source":"src/View.ts","name":null,"original":{"line":72,"column":4},"generated":{"line":42,"column":40}},{"source":"src/View.ts","name":null,"original":{"line":72,"column":38},"generated":{"line":42,"column":42}},{"source":"src/View.ts","name":null,"original":{"line":72,"column":4},"generated":{"line":42,"column":51}},{"source":"src/View.ts","name":null,"original":{"line":72,"column":49},"generated":{"line":42,"column":53}},{"source":"src/View.ts","name":null,"original":{"line":72,"column":4},"generated":{"line":42,"column":62}},{"source":"src/View.ts","name":null,"original":{"line":73,"column":3},"generated":{"line":43,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":69,"column":2},"generated":{"line":43,"column":5}},{"source":"src/View.ts","name":null,"original":{"line":74,"column":1},"generated":{"line":44,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":6},"generated":{"line":45,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":6},"generated":{"line":45,"column":9}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":6},"generated":{"line":45,"column":18}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":6},"generated":{"line":45,"column":21}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":46,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":46,"column":8}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":46,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":46,"column":25}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":47,"column":9}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":47,"column":13}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":47,"column":18}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":47,"column":21}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":47,"column":26}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":47,"column":36}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":47,"column":44}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":83},"generated":{"line":47,"column":50}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":48,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":48,"column":21}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":48,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":48,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":48,"column":37}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":48,"column":39}},{"source":"src/View.ts","name":null,"original":{"line":76,"column":46},"generated":{"line":48,"column":40}},{"source":"src/View.ts","name":null,"original":{"line":77,"column":2},"generated":{"line":50,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":77,"column":9},"generated":{"line":50,"column":11}},{"source":"src/View.ts","name":null,"original":{"line":77,"column":13},"generated":{"line":50,"column":21}},{"source":"src/View.ts","name":null,"original":{"line":77,"column":9},"generated":{"line":50,"column":25}},{"source":"src/View.ts","name":null,"original":{"line":77,"column":29},"generated":{"line":50,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":77,"column":9},"generated":{"line":50,"column":36}},{"source":"src/View.ts","name":null,"original":{"line":77,"column":48},"generated":{"line":50,"column":38}},{"source":"src/View.ts","name":null,"original":{"line":77,"column":9},"generated":{"line":50,"column":48}},{"source":"src/View.ts","name":null,"original":{"line":77,"column":86},"generated":{"line":50,"column":50}},{"source":"src/View.ts","name":null,"original":{"line":78,"column":4},"generated":{"line":51,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":78,"column":10},"generated":{"line":51,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":78,"column":45},"generated":{"line":51,"column":26}},{"source":"src/View.ts","name":null,"original":{"line":78,"column":4},"generated":{"line":51,"column":30}},{"source":"src/View.ts","name":null,"original":{"line":79,"column":4},"generated":{"line":52,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":79,"column":10},"generated":{"line":52,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":79,"column":21},"generated":{"line":52,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":79,"column":33},"generated":{"line":52,"column":35}},{"source":"src/View.ts","name":null,"original":{"line":79,"column":21},"generated":{"line":52,"column":46}},{"source":"src/View.ts","name":null,"original":{"line":79,"column":45},"generated":{"line":52,"column":47}},{"source":"src/View.ts","name":null,"original":{"line":79,"column":21},"generated":{"line":52,"column":51}},{"source":"src/View.ts","name":null,"original":{"line":79,"column":4},"generated":{"line":52,"column":52}},{"source":"src/View.ts","name":null,"original":{"line":80,"column":4},"generated":{"line":53,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":80,"column":8},"generated":{"line":53,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":80,"column":9},"generated":{"line":53,"column":13}},{"source":"src/View.ts","name":null,"original":{"line":80,"column":8},"generated":{"line":53,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":80,"column":23},"generated":{"line":53,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":80,"column":24},"generated":{"line":53,"column":28}},{"source":"src/View.ts","name":null,"original":{"line":80,"column":35},"generated":{"line":53,"column":39}},{"source":"src/View.ts","name":null,"original":{"line":80,"column":4},"generated":{"line":53,"column":42}},{"source":"src/View.ts","name":null,"original":{"line":80,"column":40},"generated":{"line":53,"column":44}},{"source":"src/View.ts","name":null,"original":{"line":81,"column":6},"generated":{"line":54,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":81,"column":12},"generated":{"line":54,"column":18}},{"source":"src/View.ts","name":null,"original":{"line":81,"column":16},"generated":{"line":54,"column":22}},{"source":"src/View.ts","name":null,"original":{"line":81,"column":12},"generated":{"line":54,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":82,"column":8},"generated":{"line":54,"column":28}},{"source":"src/View.ts","name":null,"original":{"line":82,"column":34},"generated":{"line":54,"column":56}},{"source":"src/View.ts","name":null,"original":{"line":82,"column":8},"generated":{"line":54,"column":65}},{"source":"src/View.ts","name":null,"original":{"line":82,"column":43},"generated":{"line":54,"column":68}},{"source":"src/View.ts","name":null,"original":{"line":82,"column":8},"generated":{"line":54,"column":75}},{"source":"src/View.ts","name":null,"original":{"line":82,"column":51},"generated":{"line":54,"column":78}},{"source":"src/View.ts","name":null,"original":{"line":82,"column":60},"generated":{"line":54,"column":87}},{"source":"src/View.ts","name":null,"original":{"line":82,"column":8},"generated":{"line":54,"column":96}},{"source":"src/View.ts","name":null,"original":{"line":82,"column":69},"generated":{"line":54,"column":99}},{"source":"src/View.ts","name":null,"original":{"line":81,"column":12},"generated":{"line":54,"column":130}},{"source":"src/View.ts","name":null,"original":{"line":81,"column":6},"generated":{"line":54,"column":131}},{"source":"src/View.ts","name":null,"original":{"line":84,"column":5},"generated":{"line":55,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":85,"column":4},"generated":{"line":56,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":85,"column":8},"generated":{"line":56,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":85,"column":19},"generated":{"line":56,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":85,"column":4},"generated":{"line":56,"column":26}},{"source":"src/View.ts","name":null,"original":{"line":85,"column":24},"generated":{"line":56,"column":28}},{"source":"src/View.ts","name":null,"original":{"line":86,"column":6},"generated":{"line":57,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":86,"column":12},"generated":{"line":57,"column":18}},{"source":"src/View.ts","name":null,"original":{"line":86,"column":16},"generated":{"line":57,"column":22}},{"source":"src/View.ts","name":null,"original":{"line":86,"column":12},"generated":{"line":57,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":87,"column":8},"generated":{"line":57,"column":28}},{"source":"src/View.ts","name":null,"original":{"line":87,"column":34},"generated":{"line":57,"column":56}},{"source":"src/View.ts","name":null,"original":{"line":87,"column":8},"generated":{"line":57,"column":65}},{"source":"src/View.ts","name":null,"original":{"line":87,"column":43},"generated":{"line":57,"column":68}},{"source":"src/View.ts","name":null,"original":{"line":87,"column":8},"generated":{"line":57,"column":75}},{"source":"src/View.ts","name":null,"original":{"line":87,"column":51},"generated":{"line":57,"column":78}},{"source":"src/View.ts","name":null,"original":{"line":87,"column":60},"generated":{"line":57,"column":87}},{"source":"src/View.ts","name":null,"original":{"line":87,"column":8},"generated":{"line":57,"column":96}},{"source":"src/View.ts","name":null,"original":{"line":87,"column":69},"generated":{"line":57,"column":99}},{"source":"src/View.ts","name":null,"original":{"line":86,"column":12},"generated":{"line":57,"column":122}},{"source":"src/View.ts","name":null,"original":{"line":86,"column":6},"generated":{"line":57,"column":123}},{"source":"src/View.ts","name":null,"original":{"line":89,"column":5},"generated":{"line":58,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":4},"generated":{"line":59,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":16},"generated":{"line":59,"column":20}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":4},"generated":{"line":59,"column":39}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":36},"generated":{"line":59,"column":40}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":4},"generated":{"line":59,"column":48}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":46},"generated":{"line":59,"column":50}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":57},"generated":{"line":59,"column":61}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":4},"generated":{"line":59,"column":64}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":62},"generated":{"line":59,"column":66}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":4},"generated":{"line":59,"column":75}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":73},"generated":{"line":59,"column":77}},{"source":"src/View.ts","name":null,"original":{"line":90,"column":4},"generated":{"line":59,"column":89}},{"source":"src/View.ts","name":null,"original":{"line":91,"column":3},"generated":{"line":60,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":77,"column":2},"generated":{"line":60,"column":5}},{"source":"src/View.ts","name":null,"original":{"line":92,"column":1},"generated":{"line":61,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":6},"generated":{"line":62,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":6},"generated":{"line":62,"column":9}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":6},"generated":{"line":62,"column":15}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":6},"generated":{"line":62,"column":18}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":63,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":63,"column":8}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":63,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":63,"column":25}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":64,"column":9}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":64,"column":13}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":64,"column":18}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":64,"column":21}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":64,"column":26}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":64,"column":36}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":64,"column":44}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":80},"generated":{"line":64,"column":50}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":65,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":65,"column":21}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":65,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":65,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":65,"column":37}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":65,"column":39}},{"source":"src/View.ts","name":null,"original":{"line":94,"column":43},"generated":{"line":65,"column":40}},{"source":"src/View.ts","name":null,"original":{"line":95,"column":2},"generated":{"line":67,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":95,"column":9},"generated":{"line":67,"column":11}},{"source":"src/View.ts","name":null,"original":{"line":95,"column":13},"generated":{"line":67,"column":21}},{"source":"src/View.ts","name":null,"original":{"line":95,"column":9},"generated":{"line":67,"column":25}},{"source":"src/View.ts","name":null,"original":{"line":95,"column":29},"generated":{"line":67,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":95,"column":9},"generated":{"line":67,"column":30}},{"source":"src/View.ts","name":null,"original":{"line":95,"column":42},"generated":{"line":67,"column":32}},{"source":"src/View.ts","name":null,"original":{"line":95,"column":9},"generated":{"line":67,"column":42}},{"source":"src/View.ts","name":null,"original":{"line":95,"column":80},"generated":{"line":67,"column":44}},{"source":"src/View.ts","name":null,"original":{"line":96,"column":4},"generated":{"line":68,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":96,"column":10},"generated":{"line":68,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":96,"column":45},"generated":{"line":68,"column":26}},{"source":"src/View.ts","name":null,"original":{"line":96,"column":4},"generated":{"line":68,"column":30}},{"source":"src/View.ts","name":null,"original":{"line":97,"column":4},"generated":{"line":69,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":97,"column":10},"generated":{"line":69,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":97,"column":21},"generated":{"line":69,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":97,"column":33},"generated":{"line":69,"column":35}},{"source":"src/View.ts","name":null,"original":{"line":97,"column":21},"generated":{"line":69,"column":46}},{"source":"src/View.ts","name":null,"original":{"line":97,"column":45},"generated":{"line":69,"column":47}},{"source":"src/View.ts","name":null,"original":{"line":97,"column":21},"generated":{"line":69,"column":51}},{"source":"src/View.ts","name":null,"original":{"line":97,"column":4},"generated":{"line":69,"column":52}},{"source":"src/View.ts","name":null,"original":{"line":98,"column":4},"generated":{"line":70,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":98,"column":10},"generated":{"line":70,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":98,"column":22},"generated":{"line":70,"column":23}},{"source":"src/View.ts","name":null,"original":{"line":98,"column":35},"generated":{"line":70,"column":28}},{"source":"src/View.ts","name":null,"original":{"line":98,"column":22},"generated":{"line":70,"column":31}},{"source":"src/View.ts","name":null,"original":{"line":98,"column":4},"generated":{"line":70,"column":32}},{"source":"src/View.ts","name":null,"original":{"line":99,"column":4},"generated":{"line":71,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":99,"column":8},"generated":{"line":71,"column":12}},{"source":"src/View.ts","name":null,"original":{"line":99,"column":15},"generated":{"line":71,"column":19}},{"source":"src/View.ts","name":null,"original":{"line":99,"column":8},"generated":{"line":71,"column":27}},{"source":"src/View.ts","name":null,"original":{"line":99,"column":28},"generated":{"line":71,"column":32}},{"source":"src/View.ts","name":null,"original":{"line":99,"column":4},"generated":{"line":71,"column":42}},{"source":"src/View.ts","name":null,"original":{"line":99,"column":40},"generated":{"line":71,"column":44}},{"source":"src/View.ts","name":null,"original":{"line":100,"column":6},"generated":{"line":72,"column":0}},{"source":"src/View.ts","name":null,"original":{"line":100,"column":12},"generated":{"line":72,"column":18}},{"source":"src/View.ts","name":null,"original":{"line":100,"column":16},"generated":{"line":72,"column":22}},{"source":"src/View.ts","name":null,"original":{"line":100,"column":12},"generated":{"line":72,"column":27}},{"source