diff --git a/.gitignore b/.gitignore index 534236c..adad468 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,4 @@ bower_components .DS_STORE build/reports coverage -.npmrc +.npmrc \ No newline at end of file diff --git a/bower.json b/bower.json index e80fffe..a7550a5 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "aurelia-templating-binding", - "version": "1.5.4", + "version": "1.6.0", "description": "An implementation of the templating engine's Binding Language abstraction which uses a pluggable command syntax.", "keywords": [ "aurelia", @@ -24,4 +24,4 @@ "aurelia-logging": "^1.0.0", "aurelia-templating": "^1.3.0" } -} +} \ No newline at end of file diff --git a/dist/amd/aurelia-templating-binding.js b/dist/amd/aurelia-templating-binding.js index 703861c..1ced9b2 100644 --- a/dist/amd/aurelia-templating-binding.js +++ b/dist/amd/aurelia-templating-binding.js @@ -1,904 +1,811 @@ -define(['exports', 'aurelia-logging', 'aurelia-binding', 'aurelia-templating'], function (exports, _aureliaLogging, _aureliaBinding, _aureliaTemplating) { - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.TemplatingBindingLanguage = exports.SyntaxInterpreter = exports.LetInterpolationBinding = exports.LetInterpolationBindingExpression = exports.LetBinding = exports.LetExpression = exports.ChildInterpolationBinding = exports.InterpolationBinding = exports.InterpolationBindingExpression = exports.AttributeMap = undefined; - exports.configure = configure; - - var LogManager = _interopRequireWildcard(_aureliaLogging); - - function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {}; - - if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; +define('aurelia-templating-binding', ['exports', 'aurelia-templating', 'aurelia-binding', 'aurelia-logging'], (function (exports, aureliaTemplating, aureliaBinding, LogManager) { 'use strict'; + + function _interopNamespace(e) { + if (e && e.__esModule) return e; + var n = Object.create(null); + if (e) { + Object.keys(e).forEach(function (k) { + if (k !== 'default') { + var d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: function () { return e[k]; } + }); + } + }); } - } - - newObj.default = obj; - return newObj; + n["default"] = e; + return Object.freeze(n); } - } - - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return call && (typeof call === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); - } - - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - enumerable: false, - writable: true, - configurable: true - } - }); - if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - - - var _class, _temp, _dec, _class2, _dec2, _class3, _class4, _temp2, _class5, _temp3; - - var AttributeMap = exports.AttributeMap = (_temp = _class = function () { - function AttributeMap(svg) { - - - this.elements = Object.create(null); - this.allElements = Object.create(null); - - this.svg = svg; - - this.registerUniversal('accesskey', 'accessKey'); - this.registerUniversal('contenteditable', 'contentEditable'); - this.registerUniversal('tabindex', 'tabIndex'); - this.registerUniversal('textcontent', 'textContent'); - this.registerUniversal('innerhtml', 'innerHTML'); - this.registerUniversal('scrolltop', 'scrollTop'); - this.registerUniversal('scrollleft', 'scrollLeft'); - this.registerUniversal('readonly', 'readOnly'); - this.register('label', 'for', 'htmlFor'); + var LogManager__namespace = /*#__PURE__*/_interopNamespace(LogManager); - this.register('img', 'usemap', 'useMap'); + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. - this.register('input', 'maxlength', 'maxLength'); - this.register('input', 'minlength', 'minLength'); - this.register('input', 'formaction', 'formAction'); - this.register('input', 'formenctype', 'formEncType'); - this.register('input', 'formmethod', 'formMethod'); - this.register('input', 'formnovalidate', 'formNoValidate'); - this.register('input', 'formtarget', 'formTarget'); + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. - this.register('textarea', 'maxlength', 'maxLength'); + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + /* global Reflect, Promise */ - this.register('td', 'rowspan', 'rowSpan'); - this.register('td', 'colspan', 'colSpan'); - this.register('th', 'rowspan', 'rowSpan'); - this.register('th', 'colspan', 'colSpan'); - } - - AttributeMap.prototype.register = function register(elementName, attributeName, propertyName) { - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - var element = this.elements[elementName] = this.elements[elementName] || Object.create(null); - element[attributeName] = propertyName; - }; - - AttributeMap.prototype.registerUniversal = function registerUniversal(attributeName, propertyName) { - attributeName = attributeName.toLowerCase(); - this.allElements[attributeName] = propertyName; - }; - - AttributeMap.prototype.map = function map(elementName, attributeName) { - if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { - return attributeName; - } - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - var element = this.elements[elementName]; - if (element !== undefined && attributeName in element) { - return element[attributeName]; - } - if (attributeName in this.allElements) { - return this.allElements[attributeName]; - } - - if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { - return attributeName; - } - return (0, _aureliaBinding.camelCase)(attributeName); - }; - - return AttributeMap; - }(), _class.inject = [_aureliaBinding.SVGAnalyzer], _temp); - - var InterpolationBindingExpression = exports.InterpolationBindingExpression = function () { - function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { - - - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.attribute = this.attrToRemove = attribute; - this.discrete = false; - } - - InterpolationBindingExpression.prototype.createBinding = function createBinding(target) { - if (this.parts.length === 3) { - return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); - } - return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); }; - return InterpolationBindingExpression; - }(); - - function validateTarget(target, propertyName) { - if (propertyName === 'style') { - LogManager.getLogger('templating-binding').info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); - } else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { - throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); - } - } - - var InterpolationBinding = exports.InterpolationBinding = function () { - function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { - - - validateTarget(target, targetProperty); - this.observerLocator = observerLocator; - this.parts = parts; - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - this.mode = mode; - this.lookupFunctions = lookupFunctions; + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } - InterpolationBinding.prototype.interpolate = function interpolate() { - if (this.isBound) { - var value = ''; - var parts = this.parts; - for (var i = 0, ii = parts.length; i < ii; i++) { - value += i % 2 === 0 ? parts[i] : this['childBinding' + i].value; - } - this.targetAccessor.setValue(value, this.target, this.targetProperty); - } - }; - - InterpolationBinding.prototype.updateOneTimeBindings = function updateOneTimeBindings() { - for (var i = 1, ii = this.parts.length; i < ii; i += 2) { - var child = this['childBinding' + i]; - if (child.mode === _aureliaBinding.bindingMode.oneTime) { - child.call(); - } - } - }; - - InterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.source = source; - - var parts = this.parts; - for (var i = 1, ii = parts.length; i < ii; i += 2) { - var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); - binding.bind(source); - this['childBinding' + i] = binding; - } - - this.isBound = true; - this.interpolate(); - }; - - InterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - var parts = this.parts; - for (var i = 1, ii = parts.length; i < ii; i += 2) { - var name = 'childBinding' + i; - this[name].unbind(); - } - }; - - return InterpolationBinding; - }(); - - var ChildInterpolationBinding = exports.ChildInterpolationBinding = (_dec = (0, _aureliaBinding.connectable)(), _dec(_class2 = function () { - function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { - - - if (target instanceof InterpolationBinding) { - this.parent = target; - } else { - validateTarget(target, targetProperty); - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - } - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.left = left; - this.right = right; + function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; } - ChildInterpolationBinding.prototype.updateTarget = function updateTarget(value) { - value = value === null || value === undefined ? '' : value.toString(); - if (value !== this.value) { - this.value = value; - if (this.parent) { - this.parent.interpolate(); - } else { - this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); + var AttributeMap = (function () { + function AttributeMap(svg) { + this.elements = Object.create(null); + this.allElements = Object.create(null); + this.svg = svg; + this.registerUniversal('accesskey', 'accessKey'); + this.registerUniversal('contenteditable', 'contentEditable'); + this.registerUniversal('tabindex', 'tabIndex'); + this.registerUniversal('textcontent', 'textContent'); + this.registerUniversal('innerhtml', 'innerHTML'); + this.registerUniversal('scrolltop', 'scrollTop'); + this.registerUniversal('scrollleft', 'scrollLeft'); + this.registerUniversal('readonly', 'readOnly'); + this.register('label', 'for', 'htmlFor'); + this.register('img', 'usemap', 'useMap'); + this.register('input', 'maxlength', 'maxLength'); + this.register('input', 'minlength', 'minLength'); + this.register('input', 'formaction', 'formAction'); + this.register('input', 'formenctype', 'formEncType'); + this.register('input', 'formmethod', 'formMethod'); + this.register('input', 'formnovalidate', 'formNoValidate'); + this.register('input', 'formtarget', 'formTarget'); + this.register('textarea', 'maxlength', 'maxLength'); + this.register('td', 'rowspan', 'rowSpan'); + this.register('td', 'colspan', 'colSpan'); + this.register('th', 'rowspan', 'rowSpan'); + this.register('th', 'colspan', 'colSpan'); } - } - }; - - ChildInterpolationBinding.prototype.call = function call() { - if (!this.isBound) { - return; - } - - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode !== _aureliaBinding.bindingMode.oneTime) { - this._version++; - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); + AttributeMap.prototype.register = function (elementName, attributeName, propertyName) { + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + var element = this.elements[elementName] = (this.elements[elementName] || Object.create(null)); + element[attributeName] = propertyName; + }; + AttributeMap.prototype.registerUniversal = function (attributeName, propertyName) { + attributeName = attributeName.toLowerCase(); + this.allElements[attributeName] = propertyName; + }; + AttributeMap.prototype.map = function (elementName, attributeName) { + if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { + return attributeName; + } + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + var element = this.elements[elementName]; + if (element !== undefined && attributeName in element) { + return element[attributeName]; + } + if (attributeName in this.allElements) { + return this.allElements[attributeName]; + } + if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { + return attributeName; + } + return aureliaBinding.camelCase(attributeName); + }; + AttributeMap.inject = [aureliaBinding.SVGAnalyzer]; + return AttributeMap; + }()); + + var InterpolationBindingExpression = (function () { + function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.attribute = this.attrToRemove = attribute; + this.discrete = false; } - this.unobserve(false); - } - }; - - ChildInterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; + InterpolationBindingExpression.prototype.createBinding = function (target) { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); + }; + return InterpolationBindingExpression; + }()); + function validateTarget(target, propertyName) { + if (propertyName === 'style') { + LogManager__namespace.getLogger('templating-binding') + .info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); } - this.unbind(); - } - this.isBound = true; - this.source = source; - - var sourceExpression = this.sourceExpression; - if (sourceExpression.bind) { - sourceExpression.bind(this, source, this.lookupFunctions); - } - - this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode === _aureliaBinding.bindingMode.oneWay) { - (0, _aureliaBinding.enqueueBindingConnect)(this); - } - }; - - ChildInterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - var sourceExpression = this.sourceExpression; - if (sourceExpression.unbind) { - sourceExpression.unbind(this, this.source); - } - this.source = null; - this.value = null; - this.rawValue = null; - this.unobserve(true); - }; - - ChildInterpolationBinding.prototype.connect = function connect(evaluate) { - if (!this.isBound) { - return; - } - if (evaluate) { - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - } - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); - } - }; - - return ChildInterpolationBinding; - }()) || _class2); - - var LetExpression = exports.LetExpression = function () { - function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - LetExpression.prototype.createBinding = function createBinding() { - return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); - }; - - return LetExpression; - }(); - - var LetBinding = exports.LetBinding = (_dec2 = (0, _aureliaBinding.connectable)(), _dec2(_class3 = function () { - function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.source = null; - this.target = null; - this.toBindingContext = toBindingContext; - } - - LetBinding.prototype.updateTarget = function updateTarget() { - var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.target[this.targetProperty] = value; - }; - - LetBinding.prototype.call = function call(context) { - if (!this.isBound) { - return; - } - if (context === _aureliaBinding.sourceContext) { - this.updateTarget(); - return; - } - throw new Error('Unexpected call context ' + context); - }; - - LetBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; + else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { + throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); } - this.unbind(); - } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - if (this.sourceExpression.bind) { - this.sourceExpression.bind(this, source, this.lookupFunctions); - } - - (0, _aureliaBinding.enqueueBindingConnect)(this); - }; - - LetBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - if (this.sourceExpression.unbind) { - this.sourceExpression.unbind(this, this.source); - } - this.source = null; - this.target = null; - this.unobserve(true); - }; - - LetBinding.prototype.connect = function connect() { - if (!this.isBound) { - return; - } - this.updateTarget(); - this.sourceExpression.connect(this, this.source); - }; - - return LetBinding; - }()) || _class3); - - var LetInterpolationBindingExpression = exports.LetInterpolationBindingExpression = function () { - function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - LetInterpolationBindingExpression.prototype.createBinding = function createBinding() { - return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); - }; - - return LetInterpolationBindingExpression; - }(); - - var LetInterpolationBinding = exports.LetInterpolationBinding = function () { - function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.parts = parts; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - this.target = null; } - - LetInterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; + var InterpolationBinding = (function () { + function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { + validateTarget(target, targetProperty); + this.observerLocator = observerLocator; + this.parts = parts; + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + this.mode = mode; + this.lookupFunctions = lookupFunctions; } - this.unbind(); - } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - this.interpolationBinding = this.createInterpolationBinding(); - this.interpolationBinding.bind(source); - }; - - LetInterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - this.target = null; - this.interpolationBinding.unbind(); - this.interpolationBinding = null; - }; - - LetInterpolationBinding.prototype.createInterpolationBinding = function createInterpolationBinding() { - if (this.parts.length === 3) { - return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], _aureliaBinding.bindingMode.oneWay, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); - } - return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, _aureliaBinding.bindingMode.oneWay, this.lookupFunctions); - }; - - return LetInterpolationBinding; - }(); - - var SyntaxInterpreter = exports.SyntaxInterpreter = (_temp2 = _class4 = function () { - function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) { - - - this.parser = parser; - this.observerLocator = observerLocator; - this.eventManager = eventManager; - this.attributeMap = attributeMap; - } - - SyntaxInterpreter.prototype.interpret = function interpret(resources, element, info, existingInstruction, context) { - if (info.command in this) { - return this[info.command](resources, element, info, existingInstruction, context); - } - - return this.handleUnknownCommand(resources, element, info, existingInstruction, context); - }; - - SyntaxInterpreter.prototype.handleUnknownCommand = function handleUnknownCommand(resources, element, info, existingInstruction, context) { - LogManager.getLogger('templating-binding').warn('Unknown binding command.', info); - return existingInstruction; - }; - - SyntaxInterpreter.prototype.determineDefaultBindingMode = function determineDefaultBindingMode(element, attrName, context) { - var tagName = element.tagName.toLowerCase(); - - if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' || attrName === 'scrolltop' || attrName === 'scrollleft') { - return _aureliaBinding.bindingMode.twoWay; - } - - if (context && attrName in context.attributes && context.attributes[attrName] && context.attributes[attrName].defaultBindingMode >= _aureliaBinding.bindingMode.oneTime) { - return context.attributes[attrName].defaultBindingMode; - } - - return _aureliaBinding.bindingMode.oneWay; - }; - - SyntaxInterpreter.prototype.bind = function bind(resources, element, info, existingInstruction, context) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null ? this.determineDefaultBindingMode(element, info.attrName, context) : info.defaultBindingMode, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype.trigger = function trigger(resources, element, info) { - return new _aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), _aureliaBinding.delegationStrategy.none, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.capture = function capture(resources, element, info) { - return new _aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), _aureliaBinding.delegationStrategy.capturing, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.delegate = function delegate(resources, element, info) { - return new _aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), _aureliaBinding.delegationStrategy.bubbling, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.call = function call(resources, element, info, existingInstruction) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype.options = function options(resources, element, info, existingInstruction, context) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - var attrValue = info.attrValue; - var language = this.language; - var name = null; - var target = ''; - var current = void 0; - var i = void 0; - var ii = void 0; - var inString = false; - var inEscape = false; - var foundName = false; - - for (i = 0, ii = attrValue.length; i < ii; ++i) { - current = attrValue[i]; - - if (current === ';' && !inString) { - if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); - } - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; - } - - target = ''; - name = null; - } else if (current === ':' && name === null) { - foundName = true; - name = target.trim(); - target = ''; - } else if (current === '\\') { - target += current; - inEscape = true; - continue; - } else { - target += current; - - if (name !== null && inEscape === false && current === '\'') { - inString = !inString; - } - } - - inEscape = false; - } - - if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); - } - - if (name !== null) { - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; + InterpolationBinding.prototype.interpolate = function () { + if (this.isBound) { + var value = ''; + var parts = this.parts; + for (var i = 0, ii = parts.length; i < ii; i++) { + value += (i % 2 === 0 ? parts[i] : this["childBinding".concat(i)].value); + } + this.targetAccessor.setValue(value, this.target, this.targetProperty); + } + }; + InterpolationBinding.prototype.updateOneTimeBindings = function () { + for (var i = 1, ii = this.parts.length; i < ii; i += 2) { + var child = this["childBinding".concat(i)]; + if (child.mode === aureliaBinding.bindingMode.oneTime) { + child.call(); + } + } + }; + InterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.source = source; + var parts = this.parts; + for (var i = 1, ii = parts.length; i < ii; i += 2) { + var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); + binding.bind(source); + this["childBinding".concat(i)] = binding; + } + this.isBound = true; + this.interpolate(); + }; + InterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + var parts = this.parts; + for (var i = 1, ii = parts.length; i < ii; i += 2) { + var name_1 = "childBinding".concat(i); + this[name_1].unbind(); + } + }; + return InterpolationBinding; + }()); + var ChildInterpolationBinding = (function () { + function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { + if (target instanceof InterpolationBinding) { + this.parent = target; + } + else { + validateTarget(target, targetProperty); + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + } + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.left = left; + this.right = right; } - } - - return instruction; - }; - - SyntaxInterpreter.prototype._getPrimaryPropertyName = function _getPrimaryPropertyName(resources, context) { - var type = resources.getAttribute(context.attributeName); - if (type && type.primaryProperty) { - return type.primaryProperty.attribute; - } - return null; - }; - - SyntaxInterpreter.prototype['for'] = function _for(resources, element, info, existingInstruction) { - var parts = void 0; - var keyValue = void 0; - var instruction = void 0; - var attrValue = void 0; - var isDestructuring = void 0; - - attrValue = info.attrValue; - isDestructuring = attrValue.match(/^ *[[].+[\]]/); - parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); - - if (parts.length !== 2) { - throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); - } - - instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - if (isDestructuring) { - keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); - instruction.attributes.key = keyValue[0]; - instruction.attributes.value = keyValue[1]; - } else { - instruction.attributes.local = parts[0]; - } - - instruction.attributes.items = new _aureliaBinding.BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), _aureliaBinding.bindingMode.oneWay, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['two-way'] = function twoWay(resources, element, info, existingInstruction) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), _aureliaBinding.bindingMode.twoWay, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['to-view'] = function toView(resources, element, info, existingInstruction) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), _aureliaBinding.bindingMode.toView, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['from-view'] = function fromView(resources, element, info, existingInstruction) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), _aureliaBinding.bindingMode.fromView, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['one-time'] = function oneTime(resources, element, info, existingInstruction) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), _aureliaBinding.bindingMode.oneTime, resources.lookupFunctions); - - return instruction; - }; - - return SyntaxInterpreter; - }(), _class4.inject = [_aureliaBinding.Parser, _aureliaBinding.ObserverLocator, _aureliaBinding.EventManager, AttributeMap], _temp2); - - - SyntaxInterpreter.prototype['one-way'] = SyntaxInterpreter.prototype['to-view']; - - var info = {}; - - var TemplatingBindingLanguage = exports.TemplatingBindingLanguage = (_temp3 = _class5 = function (_BindingLanguage) { - _inherits(TemplatingBindingLanguage, _BindingLanguage); - - function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) { - - - var _this = _possibleConstructorReturn(this, _BindingLanguage.call(this)); - - _this.parser = parser; - _this.observerLocator = observerLocator; - _this.syntaxInterpreter = syntaxInterpreter; - _this.emptyStringExpression = _this.parser.parse('\'\''); - syntaxInterpreter.language = _this; - _this.attributeMap = attributeMap; - _this.toBindingContextAttr = 'to-binding-context'; - return _this; - } - - TemplatingBindingLanguage.prototype.inspectAttribute = function inspectAttribute(resources, elementName, attrName, attrValue) { - var parts = attrName.split('.'); - - info.defaultBindingMode = null; - - if (parts.length === 2) { - info.attrName = parts[0].trim(); - info.attrValue = attrValue; - info.command = parts[1].trim(); - - if (info.command === 'ref') { - info.expression = new _aureliaBinding.NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); - info.command = null; - info.attrName = 'ref'; - } else { - info.expression = null; + ChildInterpolationBinding.prototype.updateTarget = function (value) { + value = value === null || value === undefined ? '' : value.toString(); + if (value !== this.value) { + this.value = value; + if (this.parent) { + this.parent.interpolate(); + } + else { + this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); + } + } + }; + ChildInterpolationBinding.prototype.call = function () { + if (!this.isBound) { + return; + } + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode !== aureliaBinding.bindingMode.oneTime) { + this._version++; + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + this.unobserve(false); + } + }; + ChildInterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + var sourceExpression = this.sourceExpression; + if (sourceExpression.bind) { + sourceExpression.bind(this, source, this.lookupFunctions); + } + this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode === aureliaBinding.bindingMode.oneWay) { + aureliaBinding.enqueueBindingConnect(this); + } + }; + ChildInterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + var sourceExpression = this.sourceExpression; + if (sourceExpression.unbind) { + sourceExpression.unbind(this, this.source); + } + this.source = null; + this.value = null; + this.rawValue = null; + this.unobserve(true); + }; + ChildInterpolationBinding.prototype.connect = function (evaluate) { + if (!this.isBound) { + return; + } + if (evaluate) { + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + } + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + }; + ChildInterpolationBinding = __decorate([ + aureliaBinding.connectable() + ], ChildInterpolationBinding); + return ChildInterpolationBinding; + }()); + + var LetExpression = (function () { + function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; } - } else if (attrName === 'ref') { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - info.expression = new _aureliaBinding.NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); - } else { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - var interpolationParts = this.parseInterpolation(resources, attrValue); - if (interpolationParts === null) { - info.expression = null; - } else { - info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, _aureliaBinding.bindingMode.oneWay, resources.lookupFunctions, attrName); + LetExpression.prototype.createBinding = function () { + return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); + }; + return LetExpression; + }()); + var LetBinding = (function () { + function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.source = null; + this.target = null; + this.toBindingContext = toBindingContext; } - } - - return info; - }; - - TemplatingBindingLanguage.prototype.createAttributeInstruction = function createAttributeInstruction(resources, element, theInfo, existingInstruction, context) { - var instruction = void 0; - - if (theInfo.expression) { - if (theInfo.attrName === 'ref') { - return theInfo.expression; + LetBinding.prototype.updateTarget = function () { + var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.target[this.targetProperty] = value; + }; + LetBinding.prototype.call = function (context) { + if (!this.isBound) { + return; + } + if (context === aureliaBinding.sourceContext) { + this.updateTarget(); + return; + } + throw new Error("Unexpected call context ".concat(context)); + }; + LetBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + if (this.sourceExpression.bind) { + this.sourceExpression.bind(this, source, this.lookupFunctions); + } + aureliaBinding.enqueueBindingConnect(this); + }; + LetBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + if (this.sourceExpression.unbind) { + this.sourceExpression.unbind(this, this.source); + } + this.source = null; + this.target = null; + this.unobserve(true); + }; + LetBinding.prototype.unobserve = function (arg0) { + throw new Error('Method not implemented.'); + }; + LetBinding.prototype.connect = function () { + if (!this.isBound) { + return; + } + this.updateTarget(); + this.sourceExpression.connect(this, this.source); + }; + LetBinding = __decorate([ + aureliaBinding.connectable() + ], LetBinding); + return LetBinding; + }()); + + var LetInterpolationBindingExpression = (function () { + function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; } - - instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(theInfo.attrName); - instruction.attributes[theInfo.attrName] = theInfo.expression; - } else if (theInfo.command) { - instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); - } - - return instruction; - }; - - TemplatingBindingLanguage.prototype.createLetExpressions = function createLetExpressions(resources, letElement) { - var expressions = []; - var attributes = letElement.attributes; - - var attr = void 0; - - var parts = void 0; - var attrName = void 0; - var attrValue = void 0; - var command = void 0; - var toBindingContextAttr = this.toBindingContextAttr; - var toBindingContext = letElement.hasAttribute(toBindingContextAttr); - for (var i = 0, ii = attributes.length; ii > i; ++i) { - attr = attributes[i]; - attrName = attr.name; - attrValue = attr.nodeValue; - parts = attrName.split('.'); - - if (attrName === toBindingContextAttr) { - continue; + LetInterpolationBindingExpression.prototype.createBinding = function () { + return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); + }; + return LetInterpolationBindingExpression; + }()); + var LetInterpolationBinding = (function () { + function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.parts = parts; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + this.target = null; } - - if (parts.length === 2) { - command = parts[1]; - if (command !== 'bind') { - LogManager.getLogger('templating-binding-language').warn('Detected invalid let command. Expected "' + parts[0] + '.bind", given "' + attrName + '"'); - continue; - } - expressions.push(new LetExpression(this.observerLocator, (0, _aureliaBinding.camelCase)(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); - } else { - attrName = (0, _aureliaBinding.camelCase)(attrName); - parts = this.parseInterpolation(resources, attrValue); - if (parts === null) { - LogManager.getLogger('templating-binding-language').warn('Detected string literal in let bindings. Did you mean "' + attrName + '.bind=' + attrValue + '" or "' + attrName + '=${' + attrValue + '}" ?'); - } - if (parts) { - expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); - } else { - expressions.push(new LetExpression(this.observerLocator, attrName, new _aureliaBinding.LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); - } + LetInterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + this.interpolationBinding = this.createInterpolationBinding(); + this.interpolationBinding.bind(source); + }; + LetInterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + this.target = null; + this.interpolationBinding.unbind(); + this.interpolationBinding = null; + }; + LetInterpolationBinding.prototype.createInterpolationBinding = function () { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], aureliaBinding.bindingMode.toView, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, aureliaBinding.bindingMode.toView, this.lookupFunctions); + }; + return LetInterpolationBinding; + }()); + + var SyntaxInterpreter = (function () { + function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) { + this.parser = parser; + this.observerLocator = observerLocator; + this.eventManager = eventManager; + this.attributeMap = attributeMap; } - } - return expressions; - }; - - TemplatingBindingLanguage.prototype.inspectTextContent = function inspectTextContent(resources, value) { - var parts = this.parseInterpolation(resources, value); - if (parts === null) { - return null; - } - return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, _aureliaBinding.bindingMode.oneWay, resources.lookupFunctions, 'textContent'); - }; - - TemplatingBindingLanguage.prototype.parseInterpolation = function parseInterpolation(resources, value) { - var i = value.indexOf('${', 0); - var ii = value.length; - var char = void 0; - var pos = 0; - var open = 0; - var quote = null; - var interpolationStart = void 0; - var parts = void 0; - var partIndex = 0; - - while (i >= 0 && i < ii - 2) { - open = 1; - interpolationStart = i; - i += 2; - - do { - char = value[i]; - i++; - - if (char === "'" || char === '"') { - if (quote === null) { - quote = char; - } else if (quote === char) { - quote = null; - } - continue; - } - - if (char === '\\') { - i++; - continue; - } - - if (quote !== null) { - continue; - } - - if (char === '{') { - open++; - } else if (char === '}') { - open--; - } - } while (open > 0 && i < ii); - - if (open === 0) { - parts = parts || []; - if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { - parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); - partIndex++; - parts[partIndex] = this.emptyStringExpression; - partIndex++; - } else { - parts[partIndex] = value.substring(pos, interpolationStart); - partIndex++; - parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); - partIndex++; - } - pos = i; - i = value.indexOf('${', i); - } else { - break; + SyntaxInterpreter.prototype.interpret = function (resources, element, info, existingInstruction, context) { + if (info.command in this) { + return this[info.command](resources, element, info, existingInstruction, context); + } + return this.handleUnknownCommand(resources, element, info, existingInstruction, context); + }; + SyntaxInterpreter.prototype.handleUnknownCommand = function (resources, element, info, existingInstruction, context) { + LogManager__namespace.getLogger('templating-binding').warn('Unknown binding command.', info); + return existingInstruction; + }; + SyntaxInterpreter.prototype.determineDefaultBindingMode = function (element, attrName, context) { + var tagName = element.tagName.toLowerCase(); + if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' + || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') + || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' + || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' + || attrName === 'scrolltop' + || attrName === 'scrollleft') { + return aureliaBinding.bindingMode.twoWay; + } + if (context + && attrName in context.attributes + && context.attributes[attrName] + && context.attributes[attrName].defaultBindingMode >= aureliaBinding.bindingMode.oneTime) { + return context.attributes[attrName].defaultBindingMode; + } + return aureliaBinding.bindingMode.toView; + }; + SyntaxInterpreter.prototype.bind = function (resources, element, info, existingInstruction, context) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null + ? this.determineDefaultBindingMode(element, info.attrName, context) + : info.defaultBindingMode, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype.trigger = function (resources, element, info) { + return new aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), aureliaBinding.delegationStrategy.none, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.capture = function (resources, element, info) { + return new aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), aureliaBinding.delegationStrategy.capturing, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.delegate = function (resources, element, info) { + return new aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), aureliaBinding.delegationStrategy.bubbling, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.call = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype.options = function (resources, element, info, existingInstruction, context) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + var attrValue = info.attrValue; + var language = this.language; + var name = null; + var target = ''; + var current; + var i; + var ii; + var inString = false; + var inEscape = false; + var foundName = false; + for (i = 0, ii = attrValue.length; i < ii; ++i) { + current = attrValue[i]; + if (current === ';' && !inString) { + if (!foundName) { + name = this._getPrimaryPropertyName(resources, context); + } + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } + target = ''; + name = null; + } + else if (current === ':' && name === null) { + foundName = true; + name = target.trim(); + target = ''; + } + else if (current === '\\') { + target += current; + inEscape = true; + continue; + } + else { + target += current; + if (name !== null && inEscape === false && current === '\'') { + inString = !inString; + } + } + inEscape = false; + } + if (!foundName) { + name = this._getPrimaryPropertyName(resources, context); + } + if (name !== null) { + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } + } + return instruction; + }; + SyntaxInterpreter.prototype._getPrimaryPropertyName = function (resources, context) { + var type = resources.getAttribute(context.attributeName); + if (type && type.primaryProperty) { + return type.primaryProperty.attribute; + } + return null; + }; + SyntaxInterpreter.prototype['for'] = function (resources, element, info, existingInstruction) { + var parts; + var keyValue; + var instruction; + var attrValue; + var isDestructuring; + attrValue = info.attrValue; + isDestructuring = attrValue.match(/^ *[[].+[\]]/); + parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); + if (parts.length !== 2) { + throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); + } + instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + if (isDestructuring) { + keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); + instruction.attributes.key = keyValue[0]; + instruction.attributes.value = keyValue[1]; + } + else { + instruction.attributes.local = parts[0]; + } + instruction.attributes.items = new aureliaBinding.BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), aureliaBinding.bindingMode.toView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['two-way'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), aureliaBinding.bindingMode.twoWay, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['to-view'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), aureliaBinding.bindingMode.toView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['from-view'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), aureliaBinding.bindingMode.fromView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['one-time'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), aureliaBinding.bindingMode.oneTime, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.inject = [aureliaBinding.Parser, aureliaBinding.ObserverLocator, aureliaBinding.EventManager, AttributeMap]; + return SyntaxInterpreter; + }()); + Object.defineProperty(SyntaxInterpreter.prototype, 'one-way', Object.getOwnPropertyDescriptor(SyntaxInterpreter.prototype, 'to-view')); + + var info = {}; + var TemplatingBindingLanguage = (function (_super) { + __extends(TemplatingBindingLanguage, _super); + function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) { + var _this = _super.call(this) || this; + _this.parser = parser; + _this.observerLocator = observerLocator; + _this.syntaxInterpreter = syntaxInterpreter; + _this.emptyStringExpression = _this.parser.parse('\'\''); + syntaxInterpreter.language = _this; + _this.attributeMap = attributeMap; + _this.toBindingContextAttr = 'to-binding-context'; + return _this; } - } - - if (partIndex === 0) { - return null; - } - - parts[partIndex] = value.substr(pos); - return parts; - }; + TemplatingBindingLanguage.prototype.inspectAttribute = function (resources, elementName, attrName, attrValue) { + var parts = attrName.split('.'); + info.defaultBindingMode = null; + if (parts.length === 2) { + info.attrName = parts[0].trim(); + info.attrValue = attrValue; + info.command = parts[1].trim(); + if (info.command === 'ref') { + info.expression = new aureliaBinding.NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); + info.command = null; + info.attrName = 'ref'; + } + else { + info.expression = null; + } + } + else if (attrName === 'ref') { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + info.expression = new aureliaBinding.NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); + } + else { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + var interpolationParts = this.parseInterpolation(resources, attrValue); + if (interpolationParts === null) { + info.expression = null; + } + else { + info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, aureliaBinding.bindingMode.toView, resources.lookupFunctions, attrName); + } + } + return info; + }; + TemplatingBindingLanguage.prototype.createAttributeInstruction = function (resources, element, theInfo, existingInstruction, context) { + var instruction; + if (theInfo.expression) { + if (theInfo.attrName === 'ref') { + return theInfo.expression; + } + instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(theInfo.attrName); + instruction.attributes[theInfo.attrName] = theInfo.expression; + } + else if (theInfo.command) { + instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); + } + return instruction; + }; + TemplatingBindingLanguage.prototype.createLetExpressions = function (resources, letElement) { + var expressions = []; + var attributes = letElement.attributes; + var attr; + var parts; + var attrName; + var attrValue; + var command; + var toBindingContextAttr = this.toBindingContextAttr; + var toBindingContext = letElement.hasAttribute(toBindingContextAttr); + for (var i = 0, ii = attributes.length; ii > i; ++i) { + attr = attributes[i]; + attrName = attr.name; + attrValue = attr.nodeValue; + parts = attrName.split('.'); + if (attrName === toBindingContextAttr) { + continue; + } + if (parts.length === 2) { + command = parts[1]; + if (command !== 'bind') { + LogManager__namespace.getLogger('templating-binding-language') + .warn("Detected invalid let command. Expected \"".concat(parts[0], ".bind\", given \"").concat(attrName, "\"")); + continue; + } + expressions.push(new LetExpression(this.observerLocator, aureliaBinding.camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); + } + else { + attrName = aureliaBinding.camelCase(attrName); + parts = this.parseInterpolation(resources, attrValue); + if (parts === null) { + LogManager__namespace.getLogger('templating-binding-language') + .warn("Detected string literal in let bindings. Did you mean \"".concat(attrName, ".bind=").concat(attrValue, "\" or \"").concat(attrName, "=${").concat(attrValue, "}\" ?")); + } + if (parts) { + expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); + } + else { + expressions.push(new LetExpression(this.observerLocator, attrName, new aureliaBinding.LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); + } + } + } + return expressions; + }; + TemplatingBindingLanguage.prototype.inspectTextContent = function (resources, value) { + var parts = this.parseInterpolation(resources, value); + if (parts === null) { + return null; + } + return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, aureliaBinding.bindingMode.toView, resources.lookupFunctions, 'textContent'); + }; + TemplatingBindingLanguage.prototype.parseInterpolation = function (resources, value) { + var i = value.indexOf('${', 0); + var ii = value.length; + var char; + var pos = 0; + var open = 0; + var quote = null; + var interpolationStart; + var parts; + var partIndex = 0; + while (i >= 0 && i < ii - 2) { + open = 1; + interpolationStart = i; + i += 2; + do { + char = value[i]; + i++; + if (char === "'" || char === '"') { + if (quote === null) { + quote = char; + } + else if (quote === char) { + quote = null; + } + continue; + } + if (char === '\\') { + i++; + continue; + } + if (quote !== null) { + continue; + } + if (char === '{') { + open++; + } + else if (char === '}') { + open--; + } + } while (open > 0 && i < ii); + if (open === 0) { + parts = parts || []; + if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { + parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); + partIndex++; + parts[partIndex] = this.emptyStringExpression; + partIndex++; + } + else { + parts[partIndex] = value.substring(pos, interpolationStart); + partIndex++; + parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); + partIndex++; + } + pos = i; + i = value.indexOf('${', i); + } + else { + break; + } + } + if (partIndex === 0) { + return null; + } + parts[partIndex] = value.substr(pos); + return parts; + }; + TemplatingBindingLanguage.inject = [aureliaBinding.Parser, aureliaBinding.ObserverLocator, SyntaxInterpreter, AttributeMap]; + return TemplatingBindingLanguage; + }(aureliaTemplating.BindingLanguage)); + + function configure(config) { + config.container.registerSingleton(aureliaTemplating.BindingLanguage, TemplatingBindingLanguage); + config.container.registerAlias(aureliaTemplating.BindingLanguage, TemplatingBindingLanguage); + } - return TemplatingBindingLanguage; - }(_aureliaTemplating.BindingLanguage), _class5.inject = [_aureliaBinding.Parser, _aureliaBinding.ObserverLocator, SyntaxInterpreter, AttributeMap], _temp3); - function configure(config) { - config.container.registerSingleton(_aureliaTemplating.BindingLanguage, TemplatingBindingLanguage); - config.container.registerAlias(_aureliaTemplating.BindingLanguage, TemplatingBindingLanguage); - } -}); \ No newline at end of file + exports.AttributeMap = AttributeMap; + exports.ChildInterpolationBinding = ChildInterpolationBinding; + exports.InterpolationBinding = InterpolationBinding; + exports.InterpolationBindingExpression = InterpolationBindingExpression; + exports.LetBinding = LetBinding; + exports.LetExpression = LetExpression; + exports.LetInterpolationBinding = LetInterpolationBinding; + exports.LetInterpolationBindingExpression = LetInterpolationBindingExpression; + exports.SyntaxInterpreter = SyntaxInterpreter; + exports.TemplatingBindingLanguage = TemplatingBindingLanguage; + exports.configure = configure; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); +//# sourceMappingURL=aurelia-templating-binding.js.map diff --git a/dist/amd/aurelia-templating-binding.js.map b/dist/amd/aurelia-templating-binding.js.map new file mode 100644 index 0000000..e93b629 --- /dev/null +++ b/dist/amd/aurelia-templating-binding.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-templating-binding.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/attribute-map.ts","../../src/interpolation-binding-expression.ts","../../src/let-expression.ts","../../src/let-interpolation-expression.ts","../../src/syntax-interpreter.ts","../../src/binding-language.ts","../../src/aurelia-templating-binding.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(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\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null,null],"names":["camelCase","SVGAnalyzer","LogManager","bindingMode","enqueueBindingConnect","connectable","sourceContext","BehaviorInstruction","BindingExpression","ListenerExpression","delegationStrategy","CallExpression","Parser","ObserverLocator","EventManager","NameExpression","LiteralString","BindingLanguage"],"mappings":"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"} \ No newline at end of file diff --git a/dist/aurelia-templating-binding.d.ts b/dist/aurelia-templating-binding.d.ts deleted file mode 100644 index c188852..0000000 --- a/dist/aurelia-templating-binding.d.ts +++ /dev/null @@ -1,160 +0,0 @@ -import * as LogManager from 'aurelia-logging'; -import { - camelCase, - SVGAnalyzer, - bindingMode, - connectable, - enqueueBindingConnect, - sourceContext, - Parser, - ObserverLocator, - EventManager, - ListenerExpression, - BindingExpression, - CallExpression, - delegationStrategy, - NameExpression, - LiteralString -} from 'aurelia-binding'; -import { - BehaviorInstruction, - BindingLanguage -} from 'aurelia-templating'; -export declare class AttributeMap { - static inject: any; - elements: any; - allElements: any; - constructor(svg?: any); - - /** - * Maps a specific HTML element attribute to a javascript property. - */ - register(elementName?: any, attributeName?: any, propertyName?: any): any; - - /** - * Maps an HTML attribute to a javascript property. - */ - registerUniversal(attributeName?: any, propertyName?: any): any; - - /** - * Returns the javascript property name for a particlar HTML attribute. - */ - map(elementName?: any, attributeName?: any): any; -} -export declare class InterpolationBindingExpression { - constructor(observerLocator?: any, targetProperty?: any, parts?: any, mode?: any, lookupFunctions?: any, attribute?: any); - createBinding(target?: any): any; -} -export declare class InterpolationBinding { - constructor(observerLocator?: any, parts?: any, target?: any, targetProperty?: any, mode?: any, lookupFunctions?: any); - interpolate(): any; - updateOneTimeBindings(): any; - bind(source?: any): any; - unbind(): any; -} -export declare class ChildInterpolationBinding { - constructor(target?: any, observerLocator?: any, sourceExpression?: any, mode?: any, lookupFunctions?: any, targetProperty?: any, left?: any, right?: any); - updateTarget(value?: any): any; - call(): any; - bind(source?: any): any; - unbind(): any; - connect(evaluate?: any): any; -} -export declare class LetExpression { - - /** - * @param {ObserverLocator} observerLocator - * @param {string} targetProperty - * @param {Expression} sourceExpression - * @param {any} lookupFunctions - * @param {boolean} toBindingContext indicates let binding result should be assigned to binding context - */ - constructor(observerLocator?: any, targetProperty?: any, sourceExpression?: any, lookupFunctions?: any, toBindingContext?: any); - createBinding(): any; -} -export declare class LetBinding { - - /** - * @param {ObserverLocator} observerLocator - * @param {Expression} sourceExpression - * @param {Function | Element} target - * @param {string} targetProperty - * @param {*} lookupFunctions - * @param {boolean} toBindingContext indicates let binding result should be assigned to binding context - */ - constructor(observerLocator?: any, sourceExpression?: any, targetProperty?: any, lookupFunctions?: any, toBindingContext?: any); - updateTarget(): any; - call(context?: any): any; - - /** - * @param {Scope} source Binding context - */ - bind(source?: any): any; - unbind(): any; - connect(): any; -} -export declare class LetInterpolationBindingExpression { - - /** - * @param {ObserverLocator} observerLocator - * @param {string} targetProperty - * @param {string[]} parts - * @param {Lookups} lookupFunctions - * @param {boolean} toBindingContext indicates let binding result should be assigned to binding context - */ - constructor(observerLocator?: any, targetProperty?: any, parts?: any, lookupFunctions?: any, toBindingContext?: any); - createBinding(): any; -} -export declare class LetInterpolationBinding { - - /** - * @param {ObserverLocator} observerLocator - * @param {strign} targetProperty - * @param {string[]} parts - * @param {Lookups} lookupFunctions - * @param {boolean} toBindingContext indicates let binding result should be assigned to binding context - */ - constructor(observerLocator?: any, targetProperty?: any, parts?: any, lookupFunctions?: any, toBindingContext?: any); - - /** - * @param {Scope} source - */ - bind(source?: any): any; - unbind(): any; - createInterpolationBinding(): any; -} - -/*eslint dot-notation:0*/ -export declare class SyntaxInterpreter { - static inject: any; - constructor(parser?: any, observerLocator?: any, eventManager?: any, attributeMap?: any); - interpret(resources?: any, element?: any, info?: any, existingInstruction?: any, context?: any): any; - handleUnknownCommand(resources?: any, element?: any, info?: any, existingInstruction?: any, context?: any): any; - determineDefaultBindingMode(element?: any, attrName?: any, context?: any): any; - bind(resources?: any, element?: any, info?: any, existingInstruction?: any, context?: any): any; - trigger(resources?: any, element?: any, info?: any): any; - capture(resources?: any, element?: any, info?: any): any; - delegate(resources?: any, element?: any, info?: any): any; - call(resources?: any, element?: any, info?: any, existingInstruction?: any): any; - options(resources?: any, element?: any, info?: any, existingInstruction?: any, context?: any): any; - 'for'(resources?: any, element?: any, info?: any, existingInstruction?: any): any; - 'two-way'(resources?: any, element?: any, info?: any, existingInstruction?: any): any; - 'to-view'(resources?: any, element?: any, info?: any, existingInstruction?: any): any; - 'from-view'(resources?: any, element?: any, info?: any, existingInstruction?: any): any; - 'one-time'(resources?: any, element?: any, info?: any, existingInstruction?: any): any; -} -export declare class TemplatingBindingLanguage extends BindingLanguage { - static inject: any; - constructor(parser?: any, observerLocator?: any, syntaxInterpreter?: any, attributeMap?: any); - inspectAttribute(resources?: any, elementName?: any, attrName?: any, attrValue?: any): any; - createAttributeInstruction(resources?: any, element?: any, theInfo?: any, existingInstruction?: any, context?: any): any; - - /** - * @param {ViewResources} resources - * @param {Element} letElement - */ - createLetExpressions(resources?: any, letElement?: any): any; - inspectTextContent(resources?: any, value?: any): any; - parseInterpolation(resources?: any, value?: any): any; -} -export declare function configure(config?: any): any; \ No newline at end of file diff --git a/dist/aurelia-templating-binding.js b/dist/aurelia-templating-binding.js deleted file mode 100644 index ed41889..0000000 --- a/dist/aurelia-templating-binding.js +++ /dev/null @@ -1,1029 +0,0 @@ -import * as LogManager from 'aurelia-logging'; -import {camelCase,SVGAnalyzer,bindingMode,connectable,enqueueBindingConnect,sourceContext,Parser,ObserverLocator,EventManager,ListenerExpression,BindingExpression,CallExpression,delegationStrategy,NameExpression,LiteralString} from 'aurelia-binding'; -import {BehaviorInstruction,BindingLanguage} from 'aurelia-templating'; - -export class AttributeMap { - static inject = [SVGAnalyzer]; - - elements = Object.create(null); - allElements = Object.create(null); - - constructor(svg) { - this.svg = svg; - - this.registerUniversal('accesskey', 'accessKey'); - this.registerUniversal('contenteditable', 'contentEditable'); - this.registerUniversal('tabindex', 'tabIndex'); - this.registerUniversal('textcontent', 'textContent'); - this.registerUniversal('innerhtml', 'innerHTML'); - this.registerUniversal('scrolltop', 'scrollTop'); - this.registerUniversal('scrollleft', 'scrollLeft'); - this.registerUniversal('readonly', 'readOnly'); - - this.register('label', 'for', 'htmlFor'); - - this.register('img', 'usemap', 'useMap'); - - this.register('input', 'maxlength', 'maxLength'); - this.register('input', 'minlength', 'minLength'); - this.register('input', 'formaction', 'formAction'); - this.register('input', 'formenctype', 'formEncType'); - this.register('input', 'formmethod', 'formMethod'); - this.register('input', 'formnovalidate', 'formNoValidate'); - this.register('input', 'formtarget', 'formTarget'); - - this.register('textarea', 'maxlength', 'maxLength'); - - this.register('td', 'rowspan', 'rowSpan'); - this.register('td', 'colspan', 'colSpan'); - this.register('th', 'rowspan', 'rowSpan'); - this.register('th', 'colspan', 'colSpan'); - } - - /** - * Maps a specific HTML element attribute to a javascript property. - */ - register(elementName, attributeName, propertyName) { - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - const element = this.elements[elementName] = (this.elements[elementName] || Object.create(null)); - element[attributeName] = propertyName; - } - - /** - * Maps an HTML attribute to a javascript property. - */ - registerUniversal(attributeName, propertyName) { - attributeName = attributeName.toLowerCase(); - this.allElements[attributeName] = propertyName; - } - - /** - * Returns the javascript property name for a particlar HTML attribute. - */ - map(elementName, attributeName) { - if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { - return attributeName; - } - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - const element = this.elements[elementName]; - if (element !== undefined && attributeName in element) { - return element[attributeName]; - } - if (attributeName in this.allElements) { - return this.allElements[attributeName]; - } - // do not camel case data-*, aria-*, or attributes with : in the name. - if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { - return attributeName; - } - return camelCase(attributeName); - } -} - -export class InterpolationBindingExpression { - constructor(observerLocator, targetProperty, parts, - mode, lookupFunctions, attribute) { - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.attribute = this.attrToRemove = attribute; - this.discrete = false; - } - - createBinding(target) { - if (this.parts.length === 3) { - return new ChildInterpolationBinding( - target, - this.observerLocator, - this.parts[1], - this.mode, - this.lookupFunctions, - this.targetProperty, - this.parts[0], - this.parts[2] - ); - } - return new InterpolationBinding( - this.observerLocator, - this.parts, - target, - this.targetProperty, - this.mode, - this.lookupFunctions - ); - } -} - -function validateTarget(target, propertyName) { - if (propertyName === 'style') { - LogManager.getLogger('templating-binding') - .info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); - } else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { - throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); - } -} - -export class InterpolationBinding { - constructor(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { - validateTarget(target, targetProperty); - this.observerLocator = observerLocator; - this.parts = parts; - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - this.mode = mode; - this.lookupFunctions = lookupFunctions; - } - - interpolate() { - if (this.isBound) { - let value = ''; - let parts = this.parts; - for (let i = 0, ii = parts.length; i < ii; i++) { - value += (i % 2 === 0 ? parts[i] : this[`childBinding${i}`].value); - } - this.targetAccessor.setValue(value, this.target, this.targetProperty); - } - } - - updateOneTimeBindings() { - for (let i = 1, ii = this.parts.length; i < ii; i += 2) { - let child = this[`childBinding${i}`]; - if (child.mode === bindingMode.oneTime) { - child.call(); - } - } - } - - bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.source = source; - - let parts = this.parts; - for (let i = 1, ii = parts.length; i < ii; i += 2) { - let binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); - binding.bind(source); - this[`childBinding${i}`] = binding; - } - - this.isBound = true; - this.interpolate(); - } - - unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - let parts = this.parts; - for (let i = 1, ii = parts.length; i < ii; i += 2) { - let name = `childBinding${i}`; - this[name].unbind(); - } - } -} - -@connectable() -export class ChildInterpolationBinding { - constructor(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { - if (target instanceof InterpolationBinding) { - this.parent = target; - } else { - validateTarget(target, targetProperty); - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - } - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.left = left; - this.right = right; - } - - updateTarget(value) { - value = value === null || value === undefined ? '' : value.toString(); - if (value !== this.value) { - this.value = value; - if (this.parent) { - this.parent.interpolate(); - } else { - this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); - } - } - } - - call() { - if (!this.isBound) { - return; - } - - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode !== bindingMode.oneTime) { - this._version++; - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); - } - this.unobserve(false); - } - } - - bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.isBound = true; - this.source = source; - - let sourceExpression = this.sourceExpression; - if (sourceExpression.bind) { - sourceExpression.bind(this, source, this.lookupFunctions); - } - - this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode === bindingMode.oneWay) { - enqueueBindingConnect(this); - } - } - - unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - let sourceExpression = this.sourceExpression; - if (sourceExpression.unbind) { - sourceExpression.unbind(this, this.source); - } - this.source = null; - this.value = null; - this.rawValue = null; - this.unobserve(true); - } - - connect(evaluate) { - if (!this.isBound) { - return; - } - if (evaluate) { - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - } - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); - } - } -} - -export class LetExpression { - /** - * @param {ObserverLocator} observerLocator - * @param {string} targetProperty - * @param {Expression} sourceExpression - * @param {any} lookupFunctions - * @param {boolean} toBindingContext indicates let binding result should be assigned to binding context - */ - constructor(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - createBinding() { - return new LetBinding( - this.observerLocator, - this.sourceExpression, - this.targetProperty, - this.lookupFunctions, - this.toBindingContext - ); - } -} - -@connectable() -export class LetBinding { - /** - * @param {ObserverLocator} observerLocator - * @param {Expression} sourceExpression - * @param {Function | Element} target - * @param {string} targetProperty - * @param {*} lookupFunctions - * @param {boolean} toBindingContext indicates let binding result should be assigned to binding context - */ - constructor(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.source = null; - this.target = null; - this.toBindingContext = toBindingContext; - } - - updateTarget() { - const value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.target[this.targetProperty] = value; - } - - call(context) { - if (!this.isBound) { - return; - } - if (context === sourceContext) { - this.updateTarget(); - return; - } - throw new Error(`Unexpected call context ${context}`); - } - - /** - * @param {Scope} source Binding context - */ - bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - if (this.sourceExpression.bind) { - this.sourceExpression.bind(this, source, this.lookupFunctions); - } - - enqueueBindingConnect(this); - } - - unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - if (this.sourceExpression.unbind) { - this.sourceExpression.unbind(this, this.source); - } - this.source = null; - this.target = null; - this.unobserve(true); - } - - connect() { - if (!this.isBound) { - return; - } - this.updateTarget(); - this.sourceExpression.connect(this, this.source); - } -} - -export class LetInterpolationBindingExpression { - /** - * @param {ObserverLocator} observerLocator - * @param {string} targetProperty - * @param {string[]} parts - * @param {Lookups} lookupFunctions - * @param {boolean} toBindingContext indicates let binding result should be assigned to binding context - */ - constructor(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - createBinding() { - return new LetInterpolationBinding( - this.observerLocator, - this.targetProperty, - this.parts, - this.lookupFunctions, - this.toBindingContext - ); - } -} - -export class LetInterpolationBinding { - /** - * @param {ObserverLocator} observerLocator - * @param {strign} targetProperty - * @param {string[]} parts - * @param {Lookups} lookupFunctions - * @param {boolean} toBindingContext indicates let binding result should be assigned to binding context - */ - constructor(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - this.observerLocator = observerLocator; - this.parts = parts; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - this.target = null; - } - - /** - * @param {Scope} source - */ - bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - this.interpolationBinding = this.createInterpolationBinding(); - this.interpolationBinding.bind(source); - } - - unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - this.target = null; - this.interpolationBinding.unbind(); - this.interpolationBinding = null; - } - - createInterpolationBinding() { - if (this.parts.length === 3) { - return new ChildInterpolationBinding( - this.target, - this.observerLocator, - this.parts[1], - bindingMode.oneWay, - this.lookupFunctions, - this.targetProperty, - this.parts[0], - this.parts[2] - ); - } - return new InterpolationBinding( - this.observerLocator, - this.parts, - this.target, - this.targetProperty, - bindingMode.oneWay, - this.lookupFunctions - ); - } -} - -/*eslint dot-notation:0*/ -export class SyntaxInterpreter { - static inject = [Parser, ObserverLocator, EventManager, AttributeMap]; - - constructor(parser, observerLocator, eventManager, attributeMap) { - this.parser = parser; - this.observerLocator = observerLocator; - this.eventManager = eventManager; - this.attributeMap = attributeMap; - } - - interpret(resources, element, info, existingInstruction, context) { - if (info.command in this) { - return this[info.command](resources, element, info, existingInstruction, context); - } - - return this.handleUnknownCommand(resources, element, info, existingInstruction, context); - } - - handleUnknownCommand(resources, element, info, existingInstruction, context) { - LogManager.getLogger('templating-binding').warn('Unknown binding command.', info); - return existingInstruction; - } - - determineDefaultBindingMode(element, attrName, context) { - let tagName = element.tagName.toLowerCase(); - - if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' - || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') - || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' - || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' - || attrName === 'scrolltop' - || attrName === 'scrollleft') { - return bindingMode.twoWay; - } - - if (context - && attrName in context.attributes - && context.attributes[attrName] - && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) { - return context.attributes[attrName].defaultBindingMode; - } - - return bindingMode.oneWay; - } - - bind(resources, element, info, existingInstruction, context) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression( - this.observerLocator, - this.attributeMap.map(element.tagName, info.attrName), - this.parser.parse(info.attrValue), - info.defaultBindingMode === undefined || info.defaultBindingMode === null - ? this.determineDefaultBindingMode(element, info.attrName, context) - : info.defaultBindingMode, - resources.lookupFunctions - ); - - return instruction; - } - - trigger(resources, element, info) { - return new ListenerExpression( - this.eventManager, - info.attrName, - this.parser.parse(info.attrValue), - delegationStrategy.none, - true, - resources.lookupFunctions - ); - } - - capture(resources, element, info) { - return new ListenerExpression( - this.eventManager, - info.attrName, - this.parser.parse(info.attrValue), - delegationStrategy.capturing, - true, - resources.lookupFunctions - ); - } - - delegate(resources, element, info) { - return new ListenerExpression( - this.eventManager, - info.attrName, - this.parser.parse(info.attrValue), - delegationStrategy.bubbling, - true, - resources.lookupFunctions - ); - } - - call(resources, element, info, existingInstruction) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new CallExpression( - this.observerLocator, - info.attrName, - this.parser.parse(info.attrValue), - resources.lookupFunctions - ); - - return instruction; - } - - options(resources, element, info, existingInstruction, context) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - let attrValue = info.attrValue; - let language = this.language; - let name = null; - let target = ''; - let current; - let i; - let ii; - let inString = false; - let inEscape = false; - let foundName = false; - - for (i = 0, ii = attrValue.length; i < ii; ++i) { - current = attrValue[i]; - - if (current === ';' && !inString) { - if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); - } - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; - } - - target = ''; - name = null; - } else if (current === ':' && name === null) { - foundName = true; - name = target.trim(); - target = ''; - } else if (current === '\\') { - target += current; - inEscape = true; - continue; - } else { - target += current; - - if (name !== null && inEscape === false && current === '\'') { - inString = !inString; - } - } - - inEscape = false; - } - - // check for the case where we have a single value with no name - // and there is a default property that we can use to obtain - // the name of the property with which the value should be associated. - if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); - } - - if (name !== null) { - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; - } - } - - return instruction; - } - - _getPrimaryPropertyName(resources, context) { - let type = resources.getAttribute(context.attributeName); - if (type && type.primaryProperty) { - return type.primaryProperty.attribute; - } - return null; - } - - 'for'(resources, element, info, existingInstruction) { - let parts; - let keyValue; - let instruction; - let attrValue; - let isDestructuring; - - attrValue = info.attrValue; - isDestructuring = attrValue.match(/^ *[[].+[\]]/); - parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); - - if (parts.length !== 2) { - throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); - } - - instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - if (isDestructuring) { - keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); - instruction.attributes.key = keyValue[0]; - instruction.attributes.value = keyValue[1]; - } else { - instruction.attributes.local = parts[0]; - } - - instruction.attributes.items = new BindingExpression( - this.observerLocator, - 'items', - this.parser.parse(parts[1]), - bindingMode.oneWay, - resources.lookupFunctions - ); - - return instruction; - } - - 'two-way'(resources, element, info, existingInstruction) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression( - this.observerLocator, - this.attributeMap.map(element.tagName, info.attrName), - this.parser.parse(info.attrValue), - bindingMode.twoWay, - resources.lookupFunctions - ); - - return instruction; - } - - 'to-view'(resources, element, info, existingInstruction) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression( - this.observerLocator, - this.attributeMap.map(element.tagName, info.attrName), - this.parser.parse(info.attrValue), - bindingMode.toView, - resources.lookupFunctions - ); - - return instruction; - } - - 'from-view'(resources, element, info, existingInstruction) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression( - this.observerLocator, - this.attributeMap.map(element.tagName, info.attrName), - this.parser.parse(info.attrValue), - bindingMode.fromView, - resources.lookupFunctions - ); - - return instruction; - } - - 'one-time'(resources, element, info, existingInstruction) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression( - this.observerLocator, - this.attributeMap.map(element.tagName, info.attrName), - this.parser.parse(info.attrValue), - bindingMode.oneTime, - resources.lookupFunctions - ); - - return instruction; - } -} - -SyntaxInterpreter.prototype['one-way'] = SyntaxInterpreter.prototype['to-view']; - -/*eslint indent:0*/ -let info = {}; - -export class TemplatingBindingLanguage extends BindingLanguage { - static inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap]; - - constructor(parser, observerLocator, syntaxInterpreter, attributeMap) { - super(); - this.parser = parser; - this.observerLocator = observerLocator; - this.syntaxInterpreter = syntaxInterpreter; - this.emptyStringExpression = this.parser.parse('\'\''); - syntaxInterpreter.language = this; - this.attributeMap = attributeMap; - this.toBindingContextAttr = 'to-binding-context'; - } - - inspectAttribute(resources, elementName, attrName, attrValue) { - let parts = attrName.split('.'); - - info.defaultBindingMode = null; - - if (parts.length === 2) { - info.attrName = parts[0].trim(); - info.attrValue = attrValue; - info.command = parts[1].trim(); - - if (info.command === 'ref') { - info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); - info.command = null; - info.attrName = 'ref'; - } else { - info.expression = null; - } - } else if (attrName === 'ref') { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); - } else { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - const interpolationParts = this.parseInterpolation(resources, attrValue); - if (interpolationParts === null) { - info.expression = null; - } else { - info.expression = new InterpolationBindingExpression( - this.observerLocator, - this.attributeMap.map(elementName, attrName), - interpolationParts, - bindingMode.oneWay, - resources.lookupFunctions, - attrName - ); - } - } - - return info; - } - - createAttributeInstruction(resources, element, theInfo, existingInstruction, context) { - let instruction; - - if (theInfo.expression) { - if (theInfo.attrName === 'ref') { - return theInfo.expression; - } - - instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName); - instruction.attributes[theInfo.attrName] = theInfo.expression; - } else if (theInfo.command) { - instruction = this.syntaxInterpreter.interpret( - resources, - element, - theInfo, - existingInstruction, - context); - } - - return instruction; - } - - /** - * @param {ViewResources} resources - * @param {Element} letElement - */ - createLetExpressions(resources, letElement) { - let expressions = []; - let attributes = letElement.attributes; - /**@type {Attr} */ - let attr; - /**@type {string[]} */ - let parts; - let attrName; - let attrValue; - let command; - let toBindingContextAttr = this.toBindingContextAttr; - let toBindingContext = letElement.hasAttribute(toBindingContextAttr); - for (let i = 0, ii = attributes.length; ii > i; ++i) { - attr = attributes[i]; - attrName = attr.name; - attrValue = attr.nodeValue; - parts = attrName.split('.'); - - if (attrName === toBindingContextAttr) { - continue; - } - - if (parts.length === 2) { - command = parts[1]; - if (command !== 'bind') { - LogManager.getLogger('templating-binding-language') - .warn(`Detected invalid let command. Expected "${parts[0]}.bind", given "${attrName}"`); - continue; - } - expressions.push(new LetExpression( - this.observerLocator, - camelCase(parts[0]), - this.parser.parse(attrValue), - resources.lookupFunctions, - toBindingContext - )); - } else { - attrName = camelCase(attrName); - parts = this.parseInterpolation(resources, attrValue); - if (parts === null) { - LogManager.getLogger('templating-binding-language') - .warn(`Detected string literal in let bindings. Did you mean "${ attrName }.bind=${ attrValue }" or "${ attrName }=\${${ attrValue }}" ?`); - } - if (parts) { - expressions.push(new LetInterpolationBindingExpression( - this.observerLocator, - attrName, - parts, - resources.lookupFunctions, - toBindingContext - )); - } else { - expressions.push(new LetExpression( - this.observerLocator, - attrName, - new LiteralString(attrValue), - resources.lookupFunctions, - toBindingContext - )); - } - } - } - return expressions; - } - - inspectTextContent(resources, value) { - const parts = this.parseInterpolation(resources, value); - if (parts === null) { - return null; - } - return new InterpolationBindingExpression( - this.observerLocator, - 'textContent', - parts, - bindingMode.oneWay, - resources.lookupFunctions, - 'textContent'); - } - - parseInterpolation(resources, value) { - let i = value.indexOf('${', 0); - let ii = value.length; - let char; - let pos = 0; - let open = 0; - let quote = null; - let interpolationStart; - let parts; - let partIndex = 0; - - while (i >= 0 && i < ii - 2) { - open = 1; - interpolationStart = i; - i += 2; - - do { - char = value[i]; - i++; - - if (char === "'" || char === '"') { - if (quote === null) { - quote = char; - } else if (quote === char) { - quote = null; - } - continue; - } - - if (char === '\\') { - i++; - continue; - } - - if (quote !== null) { - continue; - } - - if (char === '{') { - open++; - } else if (char === '}') { - open--; - } - } while (open > 0 && i < ii); - - if (open === 0) { - // lazy allocate array - parts = parts || []; - if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { - // escaped interpolation - parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); - partIndex++; - parts[partIndex] = this.emptyStringExpression; - partIndex++; - } else { - // standard interpolation - parts[partIndex] = value.substring(pos, interpolationStart); - partIndex++; - parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); - partIndex++; - } - pos = i; - i = value.indexOf('${', i); - } else { - break; - } - } - - // no interpolation. - if (partIndex === 0) { - return null; - } - - // literal. - parts[partIndex] = value.substr(pos); - return parts; - } -} - -export function configure(config) { - config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage); - config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage); -} diff --git a/dist/commonjs/aurelia-templating-binding.js b/dist/commonjs/aurelia-templating-binding.js index e5de02e..e9a2588 100644 --- a/dist/commonjs/aurelia-templating-binding.js +++ b/dist/commonjs/aurelia-templating-binding.js @@ -1,874 +1,813 @@ 'use strict'; -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.TemplatingBindingLanguage = exports.SyntaxInterpreter = exports.LetInterpolationBinding = exports.LetInterpolationBindingExpression = exports.LetBinding = exports.LetExpression = exports.ChildInterpolationBinding = exports.InterpolationBinding = exports.InterpolationBindingExpression = exports.AttributeMap = undefined; - -var _class, _temp, _dec, _class2, _dec2, _class3, _class4, _temp2, _class5, _temp3; - -exports.configure = configure; - -var _aureliaLogging = require('aurelia-logging'); - -var LogManager = _interopRequireWildcard(_aureliaLogging); - -var _aureliaBinding = require('aurelia-binding'); - -var _aureliaTemplating = require('aurelia-templating'); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - - -var AttributeMap = exports.AttributeMap = (_temp = _class = function () { - function AttributeMap(svg) { - - - this.elements = Object.create(null); - this.allElements = Object.create(null); - - this.svg = svg; - - this.registerUniversal('accesskey', 'accessKey'); - this.registerUniversal('contenteditable', 'contentEditable'); - this.registerUniversal('tabindex', 'tabIndex'); - this.registerUniversal('textcontent', 'textContent'); - this.registerUniversal('innerhtml', 'innerHTML'); - this.registerUniversal('scrolltop', 'scrollTop'); - this.registerUniversal('scrollleft', 'scrollLeft'); - this.registerUniversal('readonly', 'readOnly'); - - this.register('label', 'for', 'htmlFor'); - - this.register('img', 'usemap', 'useMap'); - - this.register('input', 'maxlength', 'maxLength'); - this.register('input', 'minlength', 'minLength'); - this.register('input', 'formaction', 'formAction'); - this.register('input', 'formenctype', 'formEncType'); - this.register('input', 'formmethod', 'formMethod'); - this.register('input', 'formnovalidate', 'formNoValidate'); - this.register('input', 'formtarget', 'formTarget'); - - this.register('textarea', 'maxlength', 'maxLength'); - - this.register('td', 'rowspan', 'rowSpan'); - this.register('td', 'colspan', 'colSpan'); - this.register('th', 'rowspan', 'rowSpan'); - this.register('th', 'colspan', 'colSpan'); - } - - AttributeMap.prototype.register = function register(elementName, attributeName, propertyName) { - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - var element = this.elements[elementName] = this.elements[elementName] || Object.create(null); - element[attributeName] = propertyName; - }; - - AttributeMap.prototype.registerUniversal = function registerUniversal(attributeName, propertyName) { - attributeName = attributeName.toLowerCase(); - this.allElements[attributeName] = propertyName; - }; - - AttributeMap.prototype.map = function map(elementName, attributeName) { - if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { - return attributeName; - } - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - var element = this.elements[elementName]; - if (element !== undefined && attributeName in element) { - return element[attributeName]; - } - if (attributeName in this.allElements) { - return this.allElements[attributeName]; - } - - if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { - return attributeName; - } - return (0, _aureliaBinding.camelCase)(attributeName); - }; - - return AttributeMap; -}(), _class.inject = [_aureliaBinding.SVGAnalyzer], _temp); - -var InterpolationBindingExpression = exports.InterpolationBindingExpression = function () { - function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { - - - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.attribute = this.attrToRemove = attribute; - this.discrete = false; - } - - InterpolationBindingExpression.prototype.createBinding = function createBinding(target) { - if (this.parts.length === 3) { - return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); - } - return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); - }; - - return InterpolationBindingExpression; -}(); - -function validateTarget(target, propertyName) { - if (propertyName === 'style') { - LogManager.getLogger('templating-binding').info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); - } else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { - throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); - } +Object.defineProperty(exports, '__esModule', { value: true }); + +var aureliaTemplating = require('aurelia-templating'); +var aureliaBinding = require('aurelia-binding'); +var LogManager = require('aurelia-logging'); + +function _interopNamespace(e) { + if (e && e.__esModule) return e; + var n = Object.create(null); + if (e) { + Object.keys(e).forEach(function (k) { + if (k !== 'default') { + var d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: function () { return e[k]; } + }); + } + }); + } + n["default"] = e; + return Object.freeze(n); } -var InterpolationBinding = exports.InterpolationBinding = function () { - function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { - - - validateTarget(target, targetProperty); - this.observerLocator = observerLocator; - this.parts = parts; - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - this.mode = mode; - this.lookupFunctions = lookupFunctions; - } - - InterpolationBinding.prototype.interpolate = function interpolate() { - if (this.isBound) { - var value = ''; - var parts = this.parts; - for (var i = 0, ii = parts.length; i < ii; i++) { - value += i % 2 === 0 ? parts[i] : this['childBinding' + i].value; - } - this.targetAccessor.setValue(value, this.target, this.targetProperty); - } - }; - - InterpolationBinding.prototype.updateOneTimeBindings = function updateOneTimeBindings() { - for (var i = 1, ii = this.parts.length; i < ii; i += 2) { - var child = this['childBinding' + i]; - if (child.mode === _aureliaBinding.bindingMode.oneTime) { - child.call(); - } - } - }; - - InterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.source = source; - - var parts = this.parts; - for (var i = 1, ii = parts.length; i < ii; i += 2) { - var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); - binding.bind(source); - this['childBinding' + i] = binding; - } - - this.isBound = true; - this.interpolate(); - }; - - InterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - var parts = this.parts; - for (var i = 1, ii = parts.length; i < ii; i += 2) { - var name = 'childBinding' + i; - this[name].unbind(); - } - }; - - return InterpolationBinding; -}(); - -var ChildInterpolationBinding = exports.ChildInterpolationBinding = (_dec = (0, _aureliaBinding.connectable)(), _dec(_class2 = function () { - function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { - - - if (target instanceof InterpolationBinding) { - this.parent = target; - } else { - validateTarget(target, targetProperty); - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - } - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.left = left; - this.right = right; - } - - ChildInterpolationBinding.prototype.updateTarget = function updateTarget(value) { - value = value === null || value === undefined ? '' : value.toString(); - if (value !== this.value) { - this.value = value; - if (this.parent) { - this.parent.interpolate(); - } else { - this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); - } - } - }; - - ChildInterpolationBinding.prototype.call = function call() { - if (!this.isBound) { - return; - } - - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode !== _aureliaBinding.bindingMode.oneTime) { - this._version++; - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); - } - this.unobserve(false); - } - }; - - ChildInterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.isBound = true; - this.source = source; - - var sourceExpression = this.sourceExpression; - if (sourceExpression.bind) { - sourceExpression.bind(this, source, this.lookupFunctions); - } - - this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode === _aureliaBinding.bindingMode.oneWay) { - (0, _aureliaBinding.enqueueBindingConnect)(this); - } - }; - - ChildInterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - var sourceExpression = this.sourceExpression; - if (sourceExpression.unbind) { - sourceExpression.unbind(this, this.source); - } - this.source = null; - this.value = null; - this.rawValue = null; - this.unobserve(true); - }; - - ChildInterpolationBinding.prototype.connect = function connect(evaluate) { - if (!this.isBound) { - return; - } - if (evaluate) { - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - } - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); - } - }; - - return ChildInterpolationBinding; -}()) || _class2); - -var LetExpression = exports.LetExpression = function () { - function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - LetExpression.prototype.createBinding = function createBinding() { - return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); - }; - - return LetExpression; -}(); - -var LetBinding = exports.LetBinding = (_dec2 = (0, _aureliaBinding.connectable)(), _dec2(_class3 = function () { - function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.source = null; - this.target = null; - this.toBindingContext = toBindingContext; - } - - LetBinding.prototype.updateTarget = function updateTarget() { - var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.target[this.targetProperty] = value; - }; - - LetBinding.prototype.call = function call(context) { - if (!this.isBound) { - return; - } - if (context === _aureliaBinding.sourceContext) { - this.updateTarget(); - return; - } - throw new Error('Unexpected call context ' + context); - }; - - LetBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - if (this.sourceExpression.bind) { - this.sourceExpression.bind(this, source, this.lookupFunctions); - } - - (0, _aureliaBinding.enqueueBindingConnect)(this); - }; - - LetBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - if (this.sourceExpression.unbind) { - this.sourceExpression.unbind(this, this.source); - } - this.source = null; - this.target = null; - this.unobserve(true); - }; - - LetBinding.prototype.connect = function connect() { - if (!this.isBound) { - return; - } - this.updateTarget(); - this.sourceExpression.connect(this, this.source); - }; - - return LetBinding; -}()) || _class3); - -var LetInterpolationBindingExpression = exports.LetInterpolationBindingExpression = function () { - function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - LetInterpolationBindingExpression.prototype.createBinding = function createBinding() { - return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); - }; - - return LetInterpolationBindingExpression; -}(); - -var LetInterpolationBinding = exports.LetInterpolationBinding = function () { - function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.parts = parts; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - this.target = null; - } - - LetInterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - this.interpolationBinding = this.createInterpolationBinding(); - this.interpolationBinding.bind(source); - }; - - LetInterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - this.target = null; - this.interpolationBinding.unbind(); - this.interpolationBinding = null; - }; - - LetInterpolationBinding.prototype.createInterpolationBinding = function createInterpolationBinding() { - if (this.parts.length === 3) { - return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], _aureliaBinding.bindingMode.oneWay, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); - } - return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, _aureliaBinding.bindingMode.oneWay, this.lookupFunctions); - }; - - return LetInterpolationBinding; -}(); - -var SyntaxInterpreter = exports.SyntaxInterpreter = (_temp2 = _class4 = function () { - function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) { - - - this.parser = parser; - this.observerLocator = observerLocator; - this.eventManager = eventManager; - this.attributeMap = attributeMap; - } - - SyntaxInterpreter.prototype.interpret = function interpret(resources, element, info, existingInstruction, context) { - if (info.command in this) { - return this[info.command](resources, element, info, existingInstruction, context); - } - - return this.handleUnknownCommand(resources, element, info, existingInstruction, context); - }; - - SyntaxInterpreter.prototype.handleUnknownCommand = function handleUnknownCommand(resources, element, info, existingInstruction, context) { - LogManager.getLogger('templating-binding').warn('Unknown binding command.', info); - return existingInstruction; - }; +var LogManager__namespace = /*#__PURE__*/_interopNamespace(LogManager); + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} - SyntaxInterpreter.prototype.determineDefaultBindingMode = function determineDefaultBindingMode(element, attrName, context) { - var tagName = element.tagName.toLowerCase(); +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} - if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' || attrName === 'scrolltop' || attrName === 'scrollleft') { - return _aureliaBinding.bindingMode.twoWay; +var AttributeMap = (function () { + function AttributeMap(svg) { + this.elements = Object.create(null); + this.allElements = Object.create(null); + this.svg = svg; + this.registerUniversal('accesskey', 'accessKey'); + this.registerUniversal('contenteditable', 'contentEditable'); + this.registerUniversal('tabindex', 'tabIndex'); + this.registerUniversal('textcontent', 'textContent'); + this.registerUniversal('innerhtml', 'innerHTML'); + this.registerUniversal('scrolltop', 'scrollTop'); + this.registerUniversal('scrollleft', 'scrollLeft'); + this.registerUniversal('readonly', 'readOnly'); + this.register('label', 'for', 'htmlFor'); + this.register('img', 'usemap', 'useMap'); + this.register('input', 'maxlength', 'maxLength'); + this.register('input', 'minlength', 'minLength'); + this.register('input', 'formaction', 'formAction'); + this.register('input', 'formenctype', 'formEncType'); + this.register('input', 'formmethod', 'formMethod'); + this.register('input', 'formnovalidate', 'formNoValidate'); + this.register('input', 'formtarget', 'formTarget'); + this.register('textarea', 'maxlength', 'maxLength'); + this.register('td', 'rowspan', 'rowSpan'); + this.register('td', 'colspan', 'colSpan'); + this.register('th', 'rowspan', 'rowSpan'); + this.register('th', 'colspan', 'colSpan'); + } + AttributeMap.prototype.register = function (elementName, attributeName, propertyName) { + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + var element = this.elements[elementName] = (this.elements[elementName] || Object.create(null)); + element[attributeName] = propertyName; + }; + AttributeMap.prototype.registerUniversal = function (attributeName, propertyName) { + attributeName = attributeName.toLowerCase(); + this.allElements[attributeName] = propertyName; + }; + AttributeMap.prototype.map = function (elementName, attributeName) { + if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { + return attributeName; + } + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + var element = this.elements[elementName]; + if (element !== undefined && attributeName in element) { + return element[attributeName]; + } + if (attributeName in this.allElements) { + return this.allElements[attributeName]; + } + if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { + return attributeName; + } + return aureliaBinding.camelCase(attributeName); + }; + AttributeMap.inject = [aureliaBinding.SVGAnalyzer]; + return AttributeMap; +}()); + +var InterpolationBindingExpression = (function () { + function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.attribute = this.attrToRemove = attribute; + this.discrete = false; + } + InterpolationBindingExpression.prototype.createBinding = function (target) { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); + }; + return InterpolationBindingExpression; +}()); +function validateTarget(target, propertyName) { + if (propertyName === 'style') { + LogManager__namespace.getLogger('templating-binding') + .info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); } - - if (context && attrName in context.attributes && context.attributes[attrName] && context.attributes[attrName].defaultBindingMode >= _aureliaBinding.bindingMode.oneTime) { - return context.attributes[attrName].defaultBindingMode; + else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { + throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); } - - return _aureliaBinding.bindingMode.oneWay; - }; - - SyntaxInterpreter.prototype.bind = function bind(resources, element, info, existingInstruction, context) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null ? this.determineDefaultBindingMode(element, info.attrName, context) : info.defaultBindingMode, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype.trigger = function trigger(resources, element, info) { - return new _aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), _aureliaBinding.delegationStrategy.none, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.capture = function capture(resources, element, info) { - return new _aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), _aureliaBinding.delegationStrategy.capturing, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.delegate = function delegate(resources, element, info) { - return new _aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), _aureliaBinding.delegationStrategy.bubbling, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.call = function call(resources, element, info, existingInstruction) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype.options = function options(resources, element, info, existingInstruction, context) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - var attrValue = info.attrValue; - var language = this.language; - var name = null; - var target = ''; - var current = void 0; - var i = void 0; - var ii = void 0; - var inString = false; - var inEscape = false; - var foundName = false; - - for (i = 0, ii = attrValue.length; i < ii; ++i) { - current = attrValue[i]; - - if (current === ';' && !inString) { +} +var InterpolationBinding = (function () { + function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { + validateTarget(target, targetProperty); + this.observerLocator = observerLocator; + this.parts = parts; + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + this.mode = mode; + this.lookupFunctions = lookupFunctions; + } + InterpolationBinding.prototype.interpolate = function () { + if (this.isBound) { + var value = ''; + var parts = this.parts; + for (var i = 0, ii = parts.length; i < ii; i++) { + value += (i % 2 === 0 ? parts[i] : this["childBinding".concat(i)].value); + } + this.targetAccessor.setValue(value, this.target, this.targetProperty); + } + }; + InterpolationBinding.prototype.updateOneTimeBindings = function () { + for (var i = 1, ii = this.parts.length; i < ii; i += 2) { + var child = this["childBinding".concat(i)]; + if (child.mode === aureliaBinding.bindingMode.oneTime) { + child.call(); + } + } + }; + InterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.source = source; + var parts = this.parts; + for (var i = 1, ii = parts.length; i < ii; i += 2) { + var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); + binding.bind(source); + this["childBinding".concat(i)] = binding; + } + this.isBound = true; + this.interpolate(); + }; + InterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + var parts = this.parts; + for (var i = 1, ii = parts.length; i < ii; i += 2) { + var name_1 = "childBinding".concat(i); + this[name_1].unbind(); + } + }; + return InterpolationBinding; +}()); +var ChildInterpolationBinding = (function () { + function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { + if (target instanceof InterpolationBinding) { + this.parent = target; + } + else { + validateTarget(target, targetProperty); + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + } + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.left = left; + this.right = right; + } + ChildInterpolationBinding.prototype.updateTarget = function (value) { + value = value === null || value === undefined ? '' : value.toString(); + if (value !== this.value) { + this.value = value; + if (this.parent) { + this.parent.interpolate(); + } + else { + this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); + } + } + }; + ChildInterpolationBinding.prototype.call = function () { + if (!this.isBound) { + return; + } + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode !== aureliaBinding.bindingMode.oneTime) { + this._version++; + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + this.unobserve(false); + } + }; + ChildInterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + var sourceExpression = this.sourceExpression; + if (sourceExpression.bind) { + sourceExpression.bind(this, source, this.lookupFunctions); + } + this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode === aureliaBinding.bindingMode.oneWay) { + aureliaBinding.enqueueBindingConnect(this); + } + }; + ChildInterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + var sourceExpression = this.sourceExpression; + if (sourceExpression.unbind) { + sourceExpression.unbind(this, this.source); + } + this.source = null; + this.value = null; + this.rawValue = null; + this.unobserve(true); + }; + ChildInterpolationBinding.prototype.connect = function (evaluate) { + if (!this.isBound) { + return; + } + if (evaluate) { + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + } + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + }; + ChildInterpolationBinding = __decorate([ + aureliaBinding.connectable() + ], ChildInterpolationBinding); + return ChildInterpolationBinding; +}()); + +var LetExpression = (function () { + function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + } + LetExpression.prototype.createBinding = function () { + return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); + }; + return LetExpression; +}()); +var LetBinding = (function () { + function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.source = null; + this.target = null; + this.toBindingContext = toBindingContext; + } + LetBinding.prototype.updateTarget = function () { + var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.target[this.targetProperty] = value; + }; + LetBinding.prototype.call = function (context) { + if (!this.isBound) { + return; + } + if (context === aureliaBinding.sourceContext) { + this.updateTarget(); + return; + } + throw new Error("Unexpected call context ".concat(context)); + }; + LetBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + if (this.sourceExpression.bind) { + this.sourceExpression.bind(this, source, this.lookupFunctions); + } + aureliaBinding.enqueueBindingConnect(this); + }; + LetBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + if (this.sourceExpression.unbind) { + this.sourceExpression.unbind(this, this.source); + } + this.source = null; + this.target = null; + this.unobserve(true); + }; + LetBinding.prototype.unobserve = function (arg0) { + throw new Error('Method not implemented.'); + }; + LetBinding.prototype.connect = function () { + if (!this.isBound) { + return; + } + this.updateTarget(); + this.sourceExpression.connect(this, this.source); + }; + LetBinding = __decorate([ + aureliaBinding.connectable() + ], LetBinding); + return LetBinding; +}()); + +var LetInterpolationBindingExpression = (function () { + function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + } + LetInterpolationBindingExpression.prototype.createBinding = function () { + return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); + }; + return LetInterpolationBindingExpression; +}()); +var LetInterpolationBinding = (function () { + function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.parts = parts; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + this.target = null; + } + LetInterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + this.interpolationBinding = this.createInterpolationBinding(); + this.interpolationBinding.bind(source); + }; + LetInterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + this.target = null; + this.interpolationBinding.unbind(); + this.interpolationBinding = null; + }; + LetInterpolationBinding.prototype.createInterpolationBinding = function () { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], aureliaBinding.bindingMode.toView, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, aureliaBinding.bindingMode.toView, this.lookupFunctions); + }; + return LetInterpolationBinding; +}()); + +var SyntaxInterpreter = (function () { + function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) { + this.parser = parser; + this.observerLocator = observerLocator; + this.eventManager = eventManager; + this.attributeMap = attributeMap; + } + SyntaxInterpreter.prototype.interpret = function (resources, element, info, existingInstruction, context) { + if (info.command in this) { + return this[info.command](resources, element, info, existingInstruction, context); + } + return this.handleUnknownCommand(resources, element, info, existingInstruction, context); + }; + SyntaxInterpreter.prototype.handleUnknownCommand = function (resources, element, info, existingInstruction, context) { + LogManager__namespace.getLogger('templating-binding').warn('Unknown binding command.', info); + return existingInstruction; + }; + SyntaxInterpreter.prototype.determineDefaultBindingMode = function (element, attrName, context) { + var tagName = element.tagName.toLowerCase(); + if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' + || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') + || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' + || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' + || attrName === 'scrolltop' + || attrName === 'scrollleft') { + return aureliaBinding.bindingMode.twoWay; + } + if (context + && attrName in context.attributes + && context.attributes[attrName] + && context.attributes[attrName].defaultBindingMode >= aureliaBinding.bindingMode.oneTime) { + return context.attributes[attrName].defaultBindingMode; + } + return aureliaBinding.bindingMode.toView; + }; + SyntaxInterpreter.prototype.bind = function (resources, element, info, existingInstruction, context) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null + ? this.determineDefaultBindingMode(element, info.attrName, context) + : info.defaultBindingMode, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype.trigger = function (resources, element, info) { + return new aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), aureliaBinding.delegationStrategy.none, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.capture = function (resources, element, info) { + return new aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), aureliaBinding.delegationStrategy.capturing, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.delegate = function (resources, element, info) { + return new aureliaBinding.ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), aureliaBinding.delegationStrategy.bubbling, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.call = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype.options = function (resources, element, info, existingInstruction, context) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + var attrValue = info.attrValue; + var language = this.language; + var name = null; + var target = ''; + var current; + var i; + var ii; + var inString = false; + var inEscape = false; + var foundName = false; + for (i = 0, ii = attrValue.length; i < ii; ++i) { + current = attrValue[i]; + if (current === ';' && !inString) { + if (!foundName) { + name = this._getPrimaryPropertyName(resources, context); + } + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } + target = ''; + name = null; + } + else if (current === ':' && name === null) { + foundName = true; + name = target.trim(); + target = ''; + } + else if (current === '\\') { + target += current; + inEscape = true; + continue; + } + else { + target += current; + if (name !== null && inEscape === false && current === '\'') { + inString = !inString; + } + } + inEscape = false; + } if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); + name = this._getPrimaryPropertyName(resources, context); } - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; + if (name !== null) { + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } } - - target = ''; - name = null; - } else if (current === ':' && name === null) { - foundName = true; - name = target.trim(); - target = ''; - } else if (current === '\\') { - target += current; - inEscape = true; - continue; - } else { - target += current; - - if (name !== null && inEscape === false && current === '\'') { - inString = !inString; + return instruction; + }; + SyntaxInterpreter.prototype._getPrimaryPropertyName = function (resources, context) { + var type = resources.getAttribute(context.attributeName); + if (type && type.primaryProperty) { + return type.primaryProperty.attribute; } - } - - inEscape = false; - } - - if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); - } - - if (name !== null) { - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; - } - } - - return instruction; - }; - - SyntaxInterpreter.prototype._getPrimaryPropertyName = function _getPrimaryPropertyName(resources, context) { - var type = resources.getAttribute(context.attributeName); - if (type && type.primaryProperty) { - return type.primaryProperty.attribute; - } - return null; - }; - - SyntaxInterpreter.prototype['for'] = function _for(resources, element, info, existingInstruction) { - var parts = void 0; - var keyValue = void 0; - var instruction = void 0; - var attrValue = void 0; - var isDestructuring = void 0; - - attrValue = info.attrValue; - isDestructuring = attrValue.match(/^ *[[].+[\]]/); - parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); - - if (parts.length !== 2) { - throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); - } - - instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - if (isDestructuring) { - keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); - instruction.attributes.key = keyValue[0]; - instruction.attributes.value = keyValue[1]; - } else { - instruction.attributes.local = parts[0]; - } - - instruction.attributes.items = new _aureliaBinding.BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), _aureliaBinding.bindingMode.oneWay, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['two-way'] = function twoWay(resources, element, info, existingInstruction) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), _aureliaBinding.bindingMode.twoWay, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['to-view'] = function toView(resources, element, info, existingInstruction) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), _aureliaBinding.bindingMode.toView, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['from-view'] = function fromView(resources, element, info, existingInstruction) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), _aureliaBinding.bindingMode.fromView, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['one-time'] = function oneTime(resources, element, info, existingInstruction) { - var instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new _aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), _aureliaBinding.bindingMode.oneTime, resources.lookupFunctions); - - return instruction; - }; - - return SyntaxInterpreter; -}(), _class4.inject = [_aureliaBinding.Parser, _aureliaBinding.ObserverLocator, _aureliaBinding.EventManager, AttributeMap], _temp2); - - -SyntaxInterpreter.prototype['one-way'] = SyntaxInterpreter.prototype['to-view']; + return null; + }; + SyntaxInterpreter.prototype['for'] = function (resources, element, info, existingInstruction) { + var parts; + var keyValue; + var instruction; + var attrValue; + var isDestructuring; + attrValue = info.attrValue; + isDestructuring = attrValue.match(/^ *[[].+[\]]/); + parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); + if (parts.length !== 2) { + throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); + } + instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + if (isDestructuring) { + keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); + instruction.attributes.key = keyValue[0]; + instruction.attributes.value = keyValue[1]; + } + else { + instruction.attributes.local = parts[0]; + } + instruction.attributes.items = new aureliaBinding.BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), aureliaBinding.bindingMode.toView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['two-way'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), aureliaBinding.bindingMode.twoWay, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['to-view'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), aureliaBinding.bindingMode.toView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['from-view'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), aureliaBinding.bindingMode.fromView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['one-time'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new aureliaBinding.BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), aureliaBinding.bindingMode.oneTime, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.inject = [aureliaBinding.Parser, aureliaBinding.ObserverLocator, aureliaBinding.EventManager, AttributeMap]; + return SyntaxInterpreter; +}()); +Object.defineProperty(SyntaxInterpreter.prototype, 'one-way', Object.getOwnPropertyDescriptor(SyntaxInterpreter.prototype, 'to-view')); var info = {}; - -var TemplatingBindingLanguage = exports.TemplatingBindingLanguage = (_temp3 = _class5 = function (_BindingLanguage) { - _inherits(TemplatingBindingLanguage, _BindingLanguage); - - function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) { - - - var _this = _possibleConstructorReturn(this, _BindingLanguage.call(this)); - - _this.parser = parser; - _this.observerLocator = observerLocator; - _this.syntaxInterpreter = syntaxInterpreter; - _this.emptyStringExpression = _this.parser.parse('\'\''); - syntaxInterpreter.language = _this; - _this.attributeMap = attributeMap; - _this.toBindingContextAttr = 'to-binding-context'; - return _this; - } - - TemplatingBindingLanguage.prototype.inspectAttribute = function inspectAttribute(resources, elementName, attrName, attrValue) { - var parts = attrName.split('.'); - - info.defaultBindingMode = null; - - if (parts.length === 2) { - info.attrName = parts[0].trim(); - info.attrValue = attrValue; - info.command = parts[1].trim(); - - if (info.command === 'ref') { - info.expression = new _aureliaBinding.NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); - info.command = null; - info.attrName = 'ref'; - } else { - info.expression = null; - } - } else if (attrName === 'ref') { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - info.expression = new _aureliaBinding.NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); - } else { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - var interpolationParts = this.parseInterpolation(resources, attrValue); - if (interpolationParts === null) { - info.expression = null; - } else { - info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, _aureliaBinding.bindingMode.oneWay, resources.lookupFunctions, attrName); - } - } - - return info; - }; - - TemplatingBindingLanguage.prototype.createAttributeInstruction = function createAttributeInstruction(resources, element, theInfo, existingInstruction, context) { - var instruction = void 0; - - if (theInfo.expression) { - if (theInfo.attrName === 'ref') { - return theInfo.expression; - } - - instruction = existingInstruction || _aureliaTemplating.BehaviorInstruction.attribute(theInfo.attrName); - instruction.attributes[theInfo.attrName] = theInfo.expression; - } else if (theInfo.command) { - instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); - } - - return instruction; - }; - - TemplatingBindingLanguage.prototype.createLetExpressions = function createLetExpressions(resources, letElement) { - var expressions = []; - var attributes = letElement.attributes; - - var attr = void 0; - - var parts = void 0; - var attrName = void 0; - var attrValue = void 0; - var command = void 0; - var toBindingContextAttr = this.toBindingContextAttr; - var toBindingContext = letElement.hasAttribute(toBindingContextAttr); - for (var i = 0, ii = attributes.length; ii > i; ++i) { - attr = attributes[i]; - attrName = attr.name; - attrValue = attr.nodeValue; - parts = attrName.split('.'); - - if (attrName === toBindingContextAttr) { - continue; - } - - if (parts.length === 2) { - command = parts[1]; - if (command !== 'bind') { - LogManager.getLogger('templating-binding-language').warn('Detected invalid let command. Expected "' + parts[0] + '.bind", given "' + attrName + '"'); - continue; - } - expressions.push(new LetExpression(this.observerLocator, (0, _aureliaBinding.camelCase)(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); - } else { - attrName = (0, _aureliaBinding.camelCase)(attrName); - parts = this.parseInterpolation(resources, attrValue); - if (parts === null) { - LogManager.getLogger('templating-binding-language').warn('Detected string literal in let bindings. Did you mean "' + attrName + '.bind=' + attrValue + '" or "' + attrName + '=${' + attrValue + '}" ?'); +var TemplatingBindingLanguage = (function (_super) { + __extends(TemplatingBindingLanguage, _super); + function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) { + var _this = _super.call(this) || this; + _this.parser = parser; + _this.observerLocator = observerLocator; + _this.syntaxInterpreter = syntaxInterpreter; + _this.emptyStringExpression = _this.parser.parse('\'\''); + syntaxInterpreter.language = _this; + _this.attributeMap = attributeMap; + _this.toBindingContextAttr = 'to-binding-context'; + return _this; + } + TemplatingBindingLanguage.prototype.inspectAttribute = function (resources, elementName, attrName, attrValue) { + var parts = attrName.split('.'); + info.defaultBindingMode = null; + if (parts.length === 2) { + info.attrName = parts[0].trim(); + info.attrValue = attrValue; + info.command = parts[1].trim(); + if (info.command === 'ref') { + info.expression = new aureliaBinding.NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); + info.command = null; + info.attrName = 'ref'; + } + else { + info.expression = null; + } } - if (parts) { - expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); - } else { - expressions.push(new LetExpression(this.observerLocator, attrName, new _aureliaBinding.LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); + else if (attrName === 'ref') { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + info.expression = new aureliaBinding.NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); } - } - } - return expressions; - }; - - TemplatingBindingLanguage.prototype.inspectTextContent = function inspectTextContent(resources, value) { - var parts = this.parseInterpolation(resources, value); - if (parts === null) { - return null; - } - return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, _aureliaBinding.bindingMode.oneWay, resources.lookupFunctions, 'textContent'); - }; - - TemplatingBindingLanguage.prototype.parseInterpolation = function parseInterpolation(resources, value) { - var i = value.indexOf('${', 0); - var ii = value.length; - var char = void 0; - var pos = 0; - var open = 0; - var quote = null; - var interpolationStart = void 0; - var parts = void 0; - var partIndex = 0; - - while (i >= 0 && i < ii - 2) { - open = 1; - interpolationStart = i; - i += 2; - - do { - char = value[i]; - i++; - - if (char === "'" || char === '"') { - if (quote === null) { - quote = char; - } else if (quote === char) { - quote = null; - } - continue; + else { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + var interpolationParts = this.parseInterpolation(resources, attrValue); + if (interpolationParts === null) { + info.expression = null; + } + else { + info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, aureliaBinding.bindingMode.toView, resources.lookupFunctions, attrName); + } } - - if (char === '\\') { - i++; - continue; + return info; + }; + TemplatingBindingLanguage.prototype.createAttributeInstruction = function (resources, element, theInfo, existingInstruction, context) { + var instruction; + if (theInfo.expression) { + if (theInfo.attrName === 'ref') { + return theInfo.expression; + } + instruction = existingInstruction || aureliaTemplating.BehaviorInstruction.attribute(theInfo.attrName); + instruction.attributes[theInfo.attrName] = theInfo.expression; } - - if (quote !== null) { - continue; + else if (theInfo.command) { + instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); } - - if (char === '{') { - open++; - } else if (char === '}') { - open--; + return instruction; + }; + TemplatingBindingLanguage.prototype.createLetExpressions = function (resources, letElement) { + var expressions = []; + var attributes = letElement.attributes; + var attr; + var parts; + var attrName; + var attrValue; + var command; + var toBindingContextAttr = this.toBindingContextAttr; + var toBindingContext = letElement.hasAttribute(toBindingContextAttr); + for (var i = 0, ii = attributes.length; ii > i; ++i) { + attr = attributes[i]; + attrName = attr.name; + attrValue = attr.nodeValue; + parts = attrName.split('.'); + if (attrName === toBindingContextAttr) { + continue; + } + if (parts.length === 2) { + command = parts[1]; + if (command !== 'bind') { + LogManager__namespace.getLogger('templating-binding-language') + .warn("Detected invalid let command. Expected \"".concat(parts[0], ".bind\", given \"").concat(attrName, "\"")); + continue; + } + expressions.push(new LetExpression(this.observerLocator, aureliaBinding.camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); + } + else { + attrName = aureliaBinding.camelCase(attrName); + parts = this.parseInterpolation(resources, attrValue); + if (parts === null) { + LogManager__namespace.getLogger('templating-binding-language') + .warn("Detected string literal in let bindings. Did you mean \"".concat(attrName, ".bind=").concat(attrValue, "\" or \"").concat(attrName, "=${").concat(attrValue, "}\" ?")); + } + if (parts) { + expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); + } + else { + expressions.push(new LetExpression(this.observerLocator, attrName, new aureliaBinding.LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); + } + } } - } while (open > 0 && i < ii); - - if (open === 0) { - parts = parts || []; - if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { - parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); - partIndex++; - parts[partIndex] = this.emptyStringExpression; - partIndex++; - } else { - parts[partIndex] = value.substring(pos, interpolationStart); - partIndex++; - parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); - partIndex++; - } - pos = i; - i = value.indexOf('${', i); - } else { - break; - } - } - - if (partIndex === 0) { - return null; - } - - parts[partIndex] = value.substr(pos); - return parts; - }; + return expressions; + }; + TemplatingBindingLanguage.prototype.inspectTextContent = function (resources, value) { + var parts = this.parseInterpolation(resources, value); + if (parts === null) { + return null; + } + return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, aureliaBinding.bindingMode.toView, resources.lookupFunctions, 'textContent'); + }; + TemplatingBindingLanguage.prototype.parseInterpolation = function (resources, value) { + var i = value.indexOf('${', 0); + var ii = value.length; + var char; + var pos = 0; + var open = 0; + var quote = null; + var interpolationStart; + var parts; + var partIndex = 0; + while (i >= 0 && i < ii - 2) { + open = 1; + interpolationStart = i; + i += 2; + do { + char = value[i]; + i++; + if (char === "'" || char === '"') { + if (quote === null) { + quote = char; + } + else if (quote === char) { + quote = null; + } + continue; + } + if (char === '\\') { + i++; + continue; + } + if (quote !== null) { + continue; + } + if (char === '{') { + open++; + } + else if (char === '}') { + open--; + } + } while (open > 0 && i < ii); + if (open === 0) { + parts = parts || []; + if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { + parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); + partIndex++; + parts[partIndex] = this.emptyStringExpression; + partIndex++; + } + else { + parts[partIndex] = value.substring(pos, interpolationStart); + partIndex++; + parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); + partIndex++; + } + pos = i; + i = value.indexOf('${', i); + } + else { + break; + } + } + if (partIndex === 0) { + return null; + } + parts[partIndex] = value.substr(pos); + return parts; + }; + TemplatingBindingLanguage.inject = [aureliaBinding.Parser, aureliaBinding.ObserverLocator, SyntaxInterpreter, AttributeMap]; + return TemplatingBindingLanguage; +}(aureliaTemplating.BindingLanguage)); - return TemplatingBindingLanguage; -}(_aureliaTemplating.BindingLanguage), _class5.inject = [_aureliaBinding.Parser, _aureliaBinding.ObserverLocator, SyntaxInterpreter, AttributeMap], _temp3); function configure(config) { - config.container.registerSingleton(_aureliaTemplating.BindingLanguage, TemplatingBindingLanguage); - config.container.registerAlias(_aureliaTemplating.BindingLanguage, TemplatingBindingLanguage); -} \ No newline at end of file + config.container.registerSingleton(aureliaTemplating.BindingLanguage, TemplatingBindingLanguage); + config.container.registerAlias(aureliaTemplating.BindingLanguage, TemplatingBindingLanguage); +} + +exports.AttributeMap = AttributeMap; +exports.ChildInterpolationBinding = ChildInterpolationBinding; +exports.InterpolationBinding = InterpolationBinding; +exports.InterpolationBindingExpression = InterpolationBindingExpression; +exports.LetBinding = LetBinding; +exports.LetExpression = LetExpression; +exports.LetInterpolationBinding = LetInterpolationBinding; +exports.LetInterpolationBindingExpression = LetInterpolationBindingExpression; +exports.SyntaxInterpreter = SyntaxInterpreter; +exports.TemplatingBindingLanguage = TemplatingBindingLanguage; +exports.configure = configure; +//# sourceMappingURL=aurelia-templating-binding.js.map diff --git a/dist/commonjs/aurelia-templating-binding.js.map b/dist/commonjs/aurelia-templating-binding.js.map new file mode 100644 index 0000000..fe33139 --- /dev/null +++ b/dist/commonjs/aurelia-templating-binding.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-templating-binding.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/attribute-map.ts","../../src/interpolation-binding-expression.ts","../../src/let-expression.ts","../../src/let-interpolation-expression.ts","../../src/syntax-interpreter.ts","../../src/binding-language.ts","../../src/aurelia-templating-binding.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(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\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null,null],"names":["camelCase","SVGAnalyzer","LogManager","bindingMode","enqueueBindingConnect","connectable","sourceContext","BehaviorInstruction","BindingExpression","ListenerExpression","delegationStrategy","CallExpression","Parser","ObserverLocator","EventManager","NameExpression","LiteralString","BindingLanguage"],"mappings":"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"} \ No newline at end of file diff --git a/dist/es2015/aurelia-templating-binding.js b/dist/es2015/aurelia-templating-binding.js index 1477d6f..81c2147 100644 --- a/dist/es2015/aurelia-templating-binding.js +++ b/dist/es2015/aurelia-templating-binding.js @@ -1,812 +1,753 @@ -var _class, _temp, _dec, _class2, _dec2, _class3, _class4, _temp2, _class5, _temp3; - -import * as LogManager from 'aurelia-logging'; -import { camelCase, SVGAnalyzer, bindingMode, connectable, enqueueBindingConnect, sourceContext, Parser, ObserverLocator, EventManager, ListenerExpression, BindingExpression, CallExpression, delegationStrategy, NameExpression, LiteralString } from 'aurelia-binding'; import { BehaviorInstruction, BindingLanguage } from 'aurelia-templating'; +import { camelCase, SVGAnalyzer, connectable, bindingMode, enqueueBindingConnect, sourceContext, BindingExpression, ListenerExpression, delegationStrategy, CallExpression, Parser, ObserverLocator, EventManager, NameExpression, LiteralString } from 'aurelia-binding'; +import * as LogManager from 'aurelia-logging'; -export let AttributeMap = (_temp = _class = class AttributeMap { - - constructor(svg) { - this.elements = Object.create(null); - this.allElements = Object.create(null); - - this.svg = svg; - - this.registerUniversal('accesskey', 'accessKey'); - this.registerUniversal('contenteditable', 'contentEditable'); - this.registerUniversal('tabindex', 'tabIndex'); - this.registerUniversal('textcontent', 'textContent'); - this.registerUniversal('innerhtml', 'innerHTML'); - this.registerUniversal('scrolltop', 'scrollTop'); - this.registerUniversal('scrollleft', 'scrollLeft'); - this.registerUniversal('readonly', 'readOnly'); - - this.register('label', 'for', 'htmlFor'); - - this.register('img', 'usemap', 'useMap'); - - this.register('input', 'maxlength', 'maxLength'); - this.register('input', 'minlength', 'minLength'); - this.register('input', 'formaction', 'formAction'); - this.register('input', 'formenctype', 'formEncType'); - this.register('input', 'formmethod', 'formMethod'); - this.register('input', 'formnovalidate', 'formNoValidate'); - this.register('input', 'formtarget', 'formTarget'); - - this.register('textarea', 'maxlength', 'maxLength'); - - this.register('td', 'rowspan', 'rowSpan'); - this.register('td', 'colspan', 'colSpan'); - this.register('th', 'rowspan', 'rowSpan'); - this.register('th', 'colspan', 'colSpan'); - } - - register(elementName, attributeName, propertyName) { - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - const element = this.elements[elementName] = this.elements[elementName] || Object.create(null); - element[attributeName] = propertyName; - } - - registerUniversal(attributeName, propertyName) { - attributeName = attributeName.toLowerCase(); - this.allElements[attributeName] = propertyName; - } - - map(elementName, attributeName) { - if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { - return attributeName; - } - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - const element = this.elements[elementName]; - if (element !== undefined && attributeName in element) { - return element[attributeName]; - } - if (attributeName in this.allElements) { - return this.allElements[attributeName]; - } - - if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { - return attributeName; +class AttributeMap { + constructor(svg) { + this.elements = Object.create(null); + this.allElements = Object.create(null); + this.svg = svg; + this.registerUniversal('accesskey', 'accessKey'); + this.registerUniversal('contenteditable', 'contentEditable'); + this.registerUniversal('tabindex', 'tabIndex'); + this.registerUniversal('textcontent', 'textContent'); + this.registerUniversal('innerhtml', 'innerHTML'); + this.registerUniversal('scrolltop', 'scrollTop'); + this.registerUniversal('scrollleft', 'scrollLeft'); + this.registerUniversal('readonly', 'readOnly'); + this.register('label', 'for', 'htmlFor'); + this.register('img', 'usemap', 'useMap'); + this.register('input', 'maxlength', 'maxLength'); + this.register('input', 'minlength', 'minLength'); + this.register('input', 'formaction', 'formAction'); + this.register('input', 'formenctype', 'formEncType'); + this.register('input', 'formmethod', 'formMethod'); + this.register('input', 'formnovalidate', 'formNoValidate'); + this.register('input', 'formtarget', 'formTarget'); + this.register('textarea', 'maxlength', 'maxLength'); + this.register('td', 'rowspan', 'rowSpan'); + this.register('td', 'colspan', 'colSpan'); + this.register('th', 'rowspan', 'rowSpan'); + this.register('th', 'colspan', 'colSpan'); + } + register(elementName, attributeName, propertyName) { + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + const element = this.elements[elementName] = (this.elements[elementName] || Object.create(null)); + element[attributeName] = propertyName; + } + registerUniversal(attributeName, propertyName) { + attributeName = attributeName.toLowerCase(); + this.allElements[attributeName] = propertyName; + } + map(elementName, attributeName) { + if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { + return attributeName; + } + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + const element = this.elements[elementName]; + if (element !== undefined && attributeName in element) { + return element[attributeName]; + } + if (attributeName in this.allElements) { + return this.allElements[attributeName]; + } + if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { + return attributeName; + } + return camelCase(attributeName); } - return camelCase(attributeName); - } -}, _class.inject = [SVGAnalyzer], _temp); - -export let InterpolationBindingExpression = class InterpolationBindingExpression { - constructor(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.attribute = this.attrToRemove = attribute; - this.discrete = false; - } +} +AttributeMap.inject = [SVGAnalyzer]; + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} - createBinding(target) { - if (this.parts.length === 3) { - return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); +class InterpolationBindingExpression { + constructor(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.attribute = this.attrToRemove = attribute; + this.discrete = false; + } + createBinding(target) { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); } - return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); - } -}; - +} function validateTarget(target, propertyName) { - if (propertyName === 'style') { - LogManager.getLogger('templating-binding').info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); - } else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { - throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); - } + if (propertyName === 'style') { + LogManager.getLogger('templating-binding') + .info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); + } + else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { + throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); + } } - -export let InterpolationBinding = class InterpolationBinding { - constructor(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { - validateTarget(target, targetProperty); - this.observerLocator = observerLocator; - this.parts = parts; - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - this.mode = mode; - this.lookupFunctions = lookupFunctions; - } - - interpolate() { - if (this.isBound) { - let value = ''; - let parts = this.parts; - for (let i = 0, ii = parts.length; i < ii; i++) { - value += i % 2 === 0 ? parts[i] : this[`childBinding${i}`].value; - } - this.targetAccessor.setValue(value, this.target, this.targetProperty); - } - } - - updateOneTimeBindings() { - for (let i = 1, ii = this.parts.length; i < ii; i += 2) { - let child = this[`childBinding${i}`]; - if (child.mode === bindingMode.oneTime) { - child.call(); - } - } - } - - bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.source = source; - - let parts = this.parts; - for (let i = 1, ii = parts.length; i < ii; i += 2) { - let binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); - binding.bind(source); - this[`childBinding${i}`] = binding; +class InterpolationBinding { + constructor(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { + validateTarget(target, targetProperty); + this.observerLocator = observerLocator; + this.parts = parts; + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + this.mode = mode; + this.lookupFunctions = lookupFunctions; + } + interpolate() { + if (this.isBound) { + let value = ''; + let parts = this.parts; + for (let i = 0, ii = parts.length; i < ii; i++) { + value += (i % 2 === 0 ? parts[i] : this[`childBinding${i}`].value); + } + this.targetAccessor.setValue(value, this.target, this.targetProperty); + } } - - this.isBound = true; - this.interpolate(); - } - - unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - let parts = this.parts; - for (let i = 1, ii = parts.length; i < ii; i += 2) { - let name = `childBinding${i}`; - this[name].unbind(); - } - } -}; - -export let ChildInterpolationBinding = (_dec = connectable(), _dec(_class2 = class ChildInterpolationBinding { - constructor(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { - if (target instanceof InterpolationBinding) { - this.parent = target; - } else { - validateTarget(target, targetProperty); - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - } - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.left = left; - this.right = right; - } - - updateTarget(value) { - value = value === null || value === undefined ? '' : value.toString(); - if (value !== this.value) { - this.value = value; - if (this.parent) { - this.parent.interpolate(); - } else { - this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); - } - } - } - - call() { - if (!this.isBound) { - return; + updateOneTimeBindings() { + for (let i = 1, ii = this.parts.length; i < ii; i += 2) { + let child = this[`childBinding${i}`]; + if (child.mode === bindingMode.oneTime) { + child.call(); + } + } } - - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode !== bindingMode.oneTime) { - this._version++; - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); - } - this.unobserve(false); - } - } - - bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.isBound = true; - this.source = source; - - let sourceExpression = this.sourceExpression; - if (sourceExpression.bind) { - sourceExpression.bind(this, source, this.lookupFunctions); + bind(source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.source = source; + let parts = this.parts; + for (let i = 1, ii = parts.length; i < ii; i += 2) { + let binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); + binding.bind(source); + this[`childBinding${i}`] = binding; + } + this.isBound = true; + this.interpolate(); } - - this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode === bindingMode.oneWay) { - enqueueBindingConnect(this); + unbind() { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + let parts = this.parts; + for (let i = 1, ii = parts.length; i < ii; i += 2) { + let name = `childBinding${i}`; + this[name].unbind(); + } } - } - - unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - let sourceExpression = this.sourceExpression; - if (sourceExpression.unbind) { - sourceExpression.unbind(this, this.source); - } - this.source = null; - this.value = null; - this.rawValue = null; - this.unobserve(true); - } - - connect(evaluate) { - if (!this.isBound) { - return; +} +let ChildInterpolationBinding = class ChildInterpolationBinding { + constructor(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { + if (target instanceof InterpolationBinding) { + this.parent = target; + } + else { + validateTarget(target, targetProperty); + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + } + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.left = left; + this.right = right; + } + updateTarget(value) { + value = value === null || value === undefined ? '' : value.toString(); + if (value !== this.value) { + this.value = value; + if (this.parent) { + this.parent.interpolate(); + } + else { + this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); + } + } } - if (evaluate) { - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); + call() { + if (!this.isBound) { + return; + } + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode !== bindingMode.oneTime) { + this._version++; + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + this.unobserve(false); + } } - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); + bind(source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + let sourceExpression = this.sourceExpression; + if (sourceExpression.bind) { + sourceExpression.bind(this, source, this.lookupFunctions); + } + this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode === bindingMode.oneWay) { + enqueueBindingConnect(this); + } + } + unbind() { + if (!this.isBound) { + return; + } + this.isBound = false; + let sourceExpression = this.sourceExpression; + if (sourceExpression.unbind) { + sourceExpression.unbind(this, this.source); + } + this.source = null; + this.value = null; + this.rawValue = null; + this.unobserve(true); + } + connect(evaluate) { + if (!this.isBound) { + return; + } + if (evaluate) { + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + } + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } } - } -}) || _class2); - -export let LetExpression = class LetExpression { - constructor(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - createBinding() { - return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); - } }; +ChildInterpolationBinding = __decorate([ + connectable() +], ChildInterpolationBinding); -export let LetBinding = (_dec2 = connectable(), _dec2(_class3 = class LetBinding { - constructor(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.source = null; - this.target = null; - this.toBindingContext = toBindingContext; - } - - updateTarget() { - const value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.target[this.targetProperty] = value; - } - - call(context) { - if (!this.isBound) { - return; +class LetExpression { + constructor(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; } - if (context === sourceContext) { - this.updateTarget(); - return; + createBinding() { + return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); } - throw new Error(`Unexpected call context ${context}`); - } - - bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); +} +let LetBinding = class LetBinding { + constructor(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.source = null; + this.target = null; + this.toBindingContext = toBindingContext; + } + updateTarget() { + const value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.target[this.targetProperty] = value; + } + call(context) { + if (!this.isBound) { + return; + } + if (context === sourceContext) { + this.updateTarget(); + return; + } + throw new Error(`Unexpected call context ${context}`); + } + bind(source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + if (this.sourceExpression.bind) { + this.sourceExpression.bind(this, source, this.lookupFunctions); + } + enqueueBindingConnect(this); } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - if (this.sourceExpression.bind) { - this.sourceExpression.bind(this, source, this.lookupFunctions); + unbind() { + if (!this.isBound) { + return; + } + this.isBound = false; + if (this.sourceExpression.unbind) { + this.sourceExpression.unbind(this, this.source); + } + this.source = null; + this.target = null; + this.unobserve(true); } - - enqueueBindingConnect(this); - } - - unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - if (this.sourceExpression.unbind) { - this.sourceExpression.unbind(this, this.source); - } - this.source = null; - this.target = null; - this.unobserve(true); - } - - connect() { - if (!this.isBound) { - return; - } - this.updateTarget(); - this.sourceExpression.connect(this, this.source); - } -}) || _class3); - -export let LetInterpolationBindingExpression = class LetInterpolationBindingExpression { - constructor(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - createBinding() { - return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); - } -}; - -export let LetInterpolationBinding = class LetInterpolationBinding { - constructor(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - this.observerLocator = observerLocator; - this.parts = parts; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - this.target = null; - } - - bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); + unobserve(arg0) { + throw new Error('Method not implemented.'); } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - this.interpolationBinding = this.createInterpolationBinding(); - this.interpolationBinding.bind(source); - } - - unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - this.target = null; - this.interpolationBinding.unbind(); - this.interpolationBinding = null; - } - - createInterpolationBinding() { - if (this.parts.length === 3) { - return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], bindingMode.oneWay, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + connect() { + if (!this.isBound) { + return; + } + this.updateTarget(); + this.sourceExpression.connect(this, this.source); } - return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, bindingMode.oneWay, this.lookupFunctions); - } }; +LetBinding = __decorate([ + connectable() +], LetBinding); -export let SyntaxInterpreter = (_temp2 = _class4 = class SyntaxInterpreter { - - constructor(parser, observerLocator, eventManager, attributeMap) { - this.parser = parser; - this.observerLocator = observerLocator; - this.eventManager = eventManager; - this.attributeMap = attributeMap; - } - - interpret(resources, element, info, existingInstruction, context) { - if (info.command in this) { - return this[info.command](resources, element, info, existingInstruction, context); +class LetInterpolationBindingExpression { + constructor(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; } - - return this.handleUnknownCommand(resources, element, info, existingInstruction, context); - } - - handleUnknownCommand(resources, element, info, existingInstruction, context) { - LogManager.getLogger('templating-binding').warn('Unknown binding command.', info); - return existingInstruction; - } - - determineDefaultBindingMode(element, attrName, context) { - let tagName = element.tagName.toLowerCase(); - - if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' || attrName === 'scrolltop' || attrName === 'scrollleft') { - return bindingMode.twoWay; + createBinding() { + return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); } - - if (context && attrName in context.attributes && context.attributes[attrName] && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) { - return context.attributes[attrName].defaultBindingMode; - } - - return bindingMode.oneWay; - } - - bind(resources, element, info, existingInstruction, context) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null ? this.determineDefaultBindingMode(element, info.attrName, context) : info.defaultBindingMode, resources.lookupFunctions); - - return instruction; - } - - trigger(resources, element, info) { - return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.none, true, resources.lookupFunctions); - } - - capture(resources, element, info) { - return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.capturing, true, resources.lookupFunctions); - } - - delegate(resources, element, info) { - return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.bubbling, true, resources.lookupFunctions); - } - - call(resources, element, info, existingInstruction) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); - - return instruction; - } - - options(resources, element, info, existingInstruction, context) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - let attrValue = info.attrValue; - let language = this.language; - let name = null; - let target = ''; - let current; - let i; - let ii; - let inString = false; - let inEscape = false; - let foundName = false; - - for (i = 0, ii = attrValue.length; i < ii; ++i) { - current = attrValue[i]; - - if (current === ';' && !inString) { - if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); +} +class LetInterpolationBinding { + constructor(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.parts = parts; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + this.target = null; + } + bind(source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); } - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + this.interpolationBinding = this.createInterpolationBinding(); + this.interpolationBinding.bind(source); + } + unbind() { + if (!this.isBound) { + return; } - - target = ''; - name = null; - } else if (current === ':' && name === null) { - foundName = true; - name = target.trim(); - target = ''; - } else if (current === '\\') { - target += current; - inEscape = true; - continue; - } else { - target += current; - - if (name !== null && inEscape === false && current === '\'') { - inString = !inString; + this.isBound = false; + this.source = null; + this.target = null; + this.interpolationBinding.unbind(); + this.interpolationBinding = null; + } + createInterpolationBinding() { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], bindingMode.toView, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); } - } - - inEscape = false; + return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, bindingMode.toView, this.lookupFunctions); } +} - if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); +class SyntaxInterpreter { + constructor(parser, observerLocator, eventManager, attributeMap) { + this.parser = parser; + this.observerLocator = observerLocator; + this.eventManager = eventManager; + this.attributeMap = attributeMap; } - - if (name !== null) { - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; - } + interpret(resources, element, info, existingInstruction, context) { + if (info.command in this) { + return this[info.command](resources, element, info, existingInstruction, context); + } + return this.handleUnknownCommand(resources, element, info, existingInstruction, context); + } + handleUnknownCommand(resources, element, info, existingInstruction, context) { + LogManager.getLogger('templating-binding').warn('Unknown binding command.', info); + return existingInstruction; + } + determineDefaultBindingMode(element, attrName, context) { + let tagName = element.tagName.toLowerCase(); + if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' + || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') + || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' + || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' + || attrName === 'scrolltop' + || attrName === 'scrollleft') { + return bindingMode.twoWay; + } + if (context + && attrName in context.attributes + && context.attributes[attrName] + && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) { + return context.attributes[attrName].defaultBindingMode; + } + return bindingMode.toView; + } + bind(resources, element, info, existingInstruction, context) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null + ? this.determineDefaultBindingMode(element, info.attrName, context) + : info.defaultBindingMode, resources.lookupFunctions); + return instruction; + } + trigger(resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.none, true, resources.lookupFunctions); + } + capture(resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.capturing, true, resources.lookupFunctions); + } + delegate(resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.bubbling, true, resources.lookupFunctions); + } + call(resources, element, info, existingInstruction) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); + return instruction; + } + options(resources, element, info, existingInstruction, context) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + let attrValue = info.attrValue; + let language = this.language; + let name = null; + let target = ''; + let current; + let i; + let ii; + let inString = false; + let inEscape = false; + let foundName = false; + for (i = 0, ii = attrValue.length; i < ii; ++i) { + current = attrValue[i]; + if (current === ';' && !inString) { + if (!foundName) { + name = this._getPrimaryPropertyName(resources, context); + } + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } + target = ''; + name = null; + } + else if (current === ':' && name === null) { + foundName = true; + name = target.trim(); + target = ''; + } + else if (current === '\\') { + target += current; + inEscape = true; + continue; + } + else { + target += current; + if (name !== null && inEscape === false && current === '\'') { + inString = !inString; + } + } + inEscape = false; + } + if (!foundName) { + name = this._getPrimaryPropertyName(resources, context); + } + if (name !== null) { + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } + } + return instruction; } - - return instruction; - } - - _getPrimaryPropertyName(resources, context) { - let type = resources.getAttribute(context.attributeName); - if (type && type.primaryProperty) { - return type.primaryProperty.attribute; + _getPrimaryPropertyName(resources, context) { + let type = resources.getAttribute(context.attributeName); + if (type && type.primaryProperty) { + return type.primaryProperty.attribute; + } + return null; + } + 'for'(resources, element, info, existingInstruction) { + let parts; + let keyValue; + let instruction; + let attrValue; + let isDestructuring; + attrValue = info.attrValue; + isDestructuring = attrValue.match(/^ *[[].+[\]]/); + parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); + if (parts.length !== 2) { + throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); + } + instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + if (isDestructuring) { + keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); + instruction.attributes.key = keyValue[0]; + instruction.attributes.value = keyValue[1]; + } + else { + instruction.attributes.local = parts[0]; + } + instruction.attributes.items = new BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), bindingMode.toView, resources.lookupFunctions); + return instruction; } - return null; - } - - 'for'(resources, element, info, existingInstruction) { - let parts; - let keyValue; - let instruction; - let attrValue; - let isDestructuring; - - attrValue = info.attrValue; - isDestructuring = attrValue.match(/^ *[[].+[\]]/); - parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); - - if (parts.length !== 2) { - throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); + 'two-way'(resources, element, info, existingInstruction) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.twoWay, resources.lookupFunctions); + return instruction; } - - instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - if (isDestructuring) { - keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); - instruction.attributes.key = keyValue[0]; - instruction.attributes.value = keyValue[1]; - } else { - instruction.attributes.local = parts[0]; + 'to-view'(resources, element, info, existingInstruction) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.toView, resources.lookupFunctions); + return instruction; } - - instruction.attributes.items = new BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), bindingMode.oneWay, resources.lookupFunctions); - - return instruction; - } - - 'two-way'(resources, element, info, existingInstruction) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.twoWay, resources.lookupFunctions); - - return instruction; - } - - 'to-view'(resources, element, info, existingInstruction) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.toView, resources.lookupFunctions); - - return instruction; - } - - 'from-view'(resources, element, info, existingInstruction) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.fromView, resources.lookupFunctions); - - return instruction; - } - - 'one-time'(resources, element, info, existingInstruction) { - let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.oneTime, resources.lookupFunctions); - - return instruction; - } -}, _class4.inject = [Parser, ObserverLocator, EventManager, AttributeMap], _temp2); - -SyntaxInterpreter.prototype['one-way'] = SyntaxInterpreter.prototype['to-view']; - -let info = {}; - -export let TemplatingBindingLanguage = (_temp3 = _class5 = class TemplatingBindingLanguage extends BindingLanguage { - - constructor(parser, observerLocator, syntaxInterpreter, attributeMap) { - super(); - this.parser = parser; - this.observerLocator = observerLocator; - this.syntaxInterpreter = syntaxInterpreter; - this.emptyStringExpression = this.parser.parse('\'\''); - syntaxInterpreter.language = this; - this.attributeMap = attributeMap; - this.toBindingContextAttr = 'to-binding-context'; - } - - inspectAttribute(resources, elementName, attrName, attrValue) { - let parts = attrName.split('.'); - - info.defaultBindingMode = null; - - if (parts.length === 2) { - info.attrName = parts[0].trim(); - info.attrValue = attrValue; - info.command = parts[1].trim(); - - if (info.command === 'ref') { - info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); - info.command = null; - info.attrName = 'ref'; - } else { - info.expression = null; - } - } else if (attrName === 'ref') { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); - } else { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - const interpolationParts = this.parseInterpolation(resources, attrValue); - if (interpolationParts === null) { - info.expression = null; - } else { - info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, bindingMode.oneWay, resources.lookupFunctions, attrName); - } + 'from-view'(resources, element, info, existingInstruction) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.fromView, resources.lookupFunctions); + return instruction; } - - return info; - } - - createAttributeInstruction(resources, element, theInfo, existingInstruction, context) { - let instruction; - - if (theInfo.expression) { - if (theInfo.attrName === 'ref') { - return theInfo.expression; - } - - instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName); - instruction.attributes[theInfo.attrName] = theInfo.expression; - } else if (theInfo.command) { - instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); + 'one-time'(resources, element, info, existingInstruction) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.oneTime, resources.lookupFunctions); + return instruction; } +} +SyntaxInterpreter.inject = [Parser, ObserverLocator, EventManager, AttributeMap]; +Object.defineProperty(SyntaxInterpreter.prototype, 'one-way', Object.getOwnPropertyDescriptor(SyntaxInterpreter.prototype, 'to-view')); - return instruction; - } - - createLetExpressions(resources, letElement) { - let expressions = []; - let attributes = letElement.attributes; - - let attr; - - let parts; - let attrName; - let attrValue; - let command; - let toBindingContextAttr = this.toBindingContextAttr; - let toBindingContext = letElement.hasAttribute(toBindingContextAttr); - for (let i = 0, ii = attributes.length; ii > i; ++i) { - attr = attributes[i]; - attrName = attr.name; - attrValue = attr.nodeValue; - parts = attrName.split('.'); - - if (attrName === toBindingContextAttr) { - continue; - } - - if (parts.length === 2) { - command = parts[1]; - if (command !== 'bind') { - LogManager.getLogger('templating-binding-language').warn(`Detected invalid let command. Expected "${parts[0]}.bind", given "${attrName}"`); - continue; - } - expressions.push(new LetExpression(this.observerLocator, camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); - } else { - attrName = camelCase(attrName); - parts = this.parseInterpolation(resources, attrValue); - if (parts === null) { - LogManager.getLogger('templating-binding-language').warn(`Detected string literal in let bindings. Did you mean "${attrName}.bind=${attrValue}" or "${attrName}=\${${attrValue}}" ?`); +let info = {}; +class TemplatingBindingLanguage extends BindingLanguage { + constructor(parser, observerLocator, syntaxInterpreter, attributeMap) { + super(); + this.parser = parser; + this.observerLocator = observerLocator; + this.syntaxInterpreter = syntaxInterpreter; + this.emptyStringExpression = this.parser.parse('\'\''); + syntaxInterpreter.language = this; + this.attributeMap = attributeMap; + this.toBindingContextAttr = 'to-binding-context'; + } + inspectAttribute(resources, elementName, attrName, attrValue) { + let parts = attrName.split('.'); + info.defaultBindingMode = null; + if (parts.length === 2) { + info.attrName = parts[0].trim(); + info.attrValue = attrValue; + info.command = parts[1].trim(); + if (info.command === 'ref') { + info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); + info.command = null; + info.attrName = 'ref'; + } + else { + info.expression = null; + } } - if (parts) { - expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); - } else { - expressions.push(new LetExpression(this.observerLocator, attrName, new LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); + else if (attrName === 'ref') { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); } - } - } - return expressions; - } - - inspectTextContent(resources, value) { - const parts = this.parseInterpolation(resources, value); - if (parts === null) { - return null; - } - return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, bindingMode.oneWay, resources.lookupFunctions, 'textContent'); - } - - parseInterpolation(resources, value) { - let i = value.indexOf('${', 0); - let ii = value.length; - let char; - let pos = 0; - let open = 0; - let quote = null; - let interpolationStart; - let parts; - let partIndex = 0; - - while (i >= 0 && i < ii - 2) { - open = 1; - interpolationStart = i; - i += 2; - - do { - char = value[i]; - i++; - - if (char === "'" || char === '"') { - if (quote === null) { - quote = char; - } else if (quote === char) { - quote = null; - } - continue; + else { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + const interpolationParts = this.parseInterpolation(resources, attrValue); + if (interpolationParts === null) { + info.expression = null; + } + else { + info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, bindingMode.toView, resources.lookupFunctions, attrName); + } } - - if (char === '\\') { - i++; - continue; + return info; + } + createAttributeInstruction(resources, element, theInfo, existingInstruction, context) { + let instruction; + if (theInfo.expression) { + if (theInfo.attrName === 'ref') { + return theInfo.expression; + } + instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName); + instruction.attributes[theInfo.attrName] = theInfo.expression; } - - if (quote !== null) { - continue; + else if (theInfo.command) { + instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); } - - if (char === '{') { - open++; - } else if (char === '}') { - open--; + return instruction; + } + createLetExpressions(resources, letElement) { + let expressions = []; + let attributes = letElement.attributes; + let attr; + let parts; + let attrName; + let attrValue; + let command; + let toBindingContextAttr = this.toBindingContextAttr; + let toBindingContext = letElement.hasAttribute(toBindingContextAttr); + for (let i = 0, ii = attributes.length; ii > i; ++i) { + attr = attributes[i]; + attrName = attr.name; + attrValue = attr.nodeValue; + parts = attrName.split('.'); + if (attrName === toBindingContextAttr) { + continue; + } + if (parts.length === 2) { + command = parts[1]; + if (command !== 'bind') { + LogManager.getLogger('templating-binding-language') + .warn(`Detected invalid let command. Expected "${parts[0]}.bind", given "${attrName}"`); + continue; + } + expressions.push(new LetExpression(this.observerLocator, camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); + } + else { + attrName = camelCase(attrName); + parts = this.parseInterpolation(resources, attrValue); + if (parts === null) { + LogManager.getLogger('templating-binding-language') + .warn(`Detected string literal in let bindings. Did you mean "${attrName}.bind=${attrValue}" or "${attrName}=\${${attrValue}}" ?`); + } + if (parts) { + expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); + } + else { + expressions.push(new LetExpression(this.observerLocator, attrName, new LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); + } + } } - } while (open > 0 && i < ii); - - if (open === 0) { - parts = parts || []; - if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { - parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); - partIndex++; - parts[partIndex] = this.emptyStringExpression; - partIndex++; - } else { - parts[partIndex] = value.substring(pos, interpolationStart); - partIndex++; - parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); - partIndex++; - } - pos = i; - i = value.indexOf('${', i); - } else { - break; - } + return expressions; } - - if (partIndex === 0) { - return null; + inspectTextContent(resources, value) { + const parts = this.parseInterpolation(resources, value); + if (parts === null) { + return null; + } + return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, bindingMode.toView, resources.lookupFunctions, 'textContent'); + } + parseInterpolation(resources, value) { + let i = value.indexOf('${', 0); + let ii = value.length; + let char; + let pos = 0; + let open = 0; + let quote = null; + let interpolationStart; + let parts; + let partIndex = 0; + while (i >= 0 && i < ii - 2) { + open = 1; + interpolationStart = i; + i += 2; + do { + char = value[i]; + i++; + if (char === "'" || char === '"') { + if (quote === null) { + quote = char; + } + else if (quote === char) { + quote = null; + } + continue; + } + if (char === '\\') { + i++; + continue; + } + if (quote !== null) { + continue; + } + if (char === '{') { + open++; + } + else if (char === '}') { + open--; + } + } while (open > 0 && i < ii); + if (open === 0) { + parts = parts || []; + if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { + parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); + partIndex++; + parts[partIndex] = this.emptyStringExpression; + partIndex++; + } + else { + parts[partIndex] = value.substring(pos, interpolationStart); + partIndex++; + parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); + partIndex++; + } + pos = i; + i = value.indexOf('${', i); + } + else { + break; + } + } + if (partIndex === 0) { + return null; + } + parts[partIndex] = value.substr(pos); + return parts; } +} +TemplatingBindingLanguage.inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap]; - parts[partIndex] = value.substr(pos); - return parts; - } -}, _class5.inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap], _temp3); +function configure(config) { + config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage); + config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage); +} -export function configure(config) { - config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage); - config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage); -} \ No newline at end of file +export { AttributeMap, ChildInterpolationBinding, InterpolationBinding, InterpolationBindingExpression, LetBinding, LetExpression, LetInterpolationBinding, LetInterpolationBindingExpression, SyntaxInterpreter, TemplatingBindingLanguage, configure }; +//# sourceMappingURL=aurelia-templating-binding.js.map diff --git a/dist/es2015/aurelia-templating-binding.js.map b/dist/es2015/aurelia-templating-binding.js.map new file mode 100644 index 0000000..3106c2c --- /dev/null +++ b/dist/es2015/aurelia-templating-binding.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-templating-binding.js","sources":["../../src/attribute-map.ts","../../node_modules/tslib/tslib.es6.js","../../src/interpolation-binding-expression.ts","../../src/let-expression.ts","../../src/let-interpolation-expression.ts","../../src/syntax-interpreter.ts","../../src/binding-language.ts","../../src/aurelia-templating-binding.ts"],"sourcesContent":[null,"/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(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\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/es2017/aurelia-templating-binding.js b/dist/es2017/aurelia-templating-binding.js new file mode 100644 index 0000000..81c2147 --- /dev/null +++ b/dist/es2017/aurelia-templating-binding.js @@ -0,0 +1,753 @@ +import { BehaviorInstruction, BindingLanguage } from 'aurelia-templating'; +import { camelCase, SVGAnalyzer, connectable, bindingMode, enqueueBindingConnect, sourceContext, BindingExpression, ListenerExpression, delegationStrategy, CallExpression, Parser, ObserverLocator, EventManager, NameExpression, LiteralString } from 'aurelia-binding'; +import * as LogManager from 'aurelia-logging'; + +class AttributeMap { + constructor(svg) { + this.elements = Object.create(null); + this.allElements = Object.create(null); + this.svg = svg; + this.registerUniversal('accesskey', 'accessKey'); + this.registerUniversal('contenteditable', 'contentEditable'); + this.registerUniversal('tabindex', 'tabIndex'); + this.registerUniversal('textcontent', 'textContent'); + this.registerUniversal('innerhtml', 'innerHTML'); + this.registerUniversal('scrolltop', 'scrollTop'); + this.registerUniversal('scrollleft', 'scrollLeft'); + this.registerUniversal('readonly', 'readOnly'); + this.register('label', 'for', 'htmlFor'); + this.register('img', 'usemap', 'useMap'); + this.register('input', 'maxlength', 'maxLength'); + this.register('input', 'minlength', 'minLength'); + this.register('input', 'formaction', 'formAction'); + this.register('input', 'formenctype', 'formEncType'); + this.register('input', 'formmethod', 'formMethod'); + this.register('input', 'formnovalidate', 'formNoValidate'); + this.register('input', 'formtarget', 'formTarget'); + this.register('textarea', 'maxlength', 'maxLength'); + this.register('td', 'rowspan', 'rowSpan'); + this.register('td', 'colspan', 'colSpan'); + this.register('th', 'rowspan', 'rowSpan'); + this.register('th', 'colspan', 'colSpan'); + } + register(elementName, attributeName, propertyName) { + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + const element = this.elements[elementName] = (this.elements[elementName] || Object.create(null)); + element[attributeName] = propertyName; + } + registerUniversal(attributeName, propertyName) { + attributeName = attributeName.toLowerCase(); + this.allElements[attributeName] = propertyName; + } + map(elementName, attributeName) { + if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { + return attributeName; + } + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + const element = this.elements[elementName]; + if (element !== undefined && attributeName in element) { + return element[attributeName]; + } + if (attributeName in this.allElements) { + return this.allElements[attributeName]; + } + if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { + return attributeName; + } + return camelCase(attributeName); + } +} +AttributeMap.inject = [SVGAnalyzer]; + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} + +class InterpolationBindingExpression { + constructor(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.attribute = this.attrToRemove = attribute; + this.discrete = false; + } + createBinding(target) { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); + } +} +function validateTarget(target, propertyName) { + if (propertyName === 'style') { + LogManager.getLogger('templating-binding') + .info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); + } + else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { + throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); + } +} +class InterpolationBinding { + constructor(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { + validateTarget(target, targetProperty); + this.observerLocator = observerLocator; + this.parts = parts; + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + this.mode = mode; + this.lookupFunctions = lookupFunctions; + } + interpolate() { + if (this.isBound) { + let value = ''; + let parts = this.parts; + for (let i = 0, ii = parts.length; i < ii; i++) { + value += (i % 2 === 0 ? parts[i] : this[`childBinding${i}`].value); + } + this.targetAccessor.setValue(value, this.target, this.targetProperty); + } + } + updateOneTimeBindings() { + for (let i = 1, ii = this.parts.length; i < ii; i += 2) { + let child = this[`childBinding${i}`]; + if (child.mode === bindingMode.oneTime) { + child.call(); + } + } + } + bind(source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.source = source; + let parts = this.parts; + for (let i = 1, ii = parts.length; i < ii; i += 2) { + let binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); + binding.bind(source); + this[`childBinding${i}`] = binding; + } + this.isBound = true; + this.interpolate(); + } + unbind() { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + let parts = this.parts; + for (let i = 1, ii = parts.length; i < ii; i += 2) { + let name = `childBinding${i}`; + this[name].unbind(); + } + } +} +let ChildInterpolationBinding = class ChildInterpolationBinding { + constructor(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { + if (target instanceof InterpolationBinding) { + this.parent = target; + } + else { + validateTarget(target, targetProperty); + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + } + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.left = left; + this.right = right; + } + updateTarget(value) { + value = value === null || value === undefined ? '' : value.toString(); + if (value !== this.value) { + this.value = value; + if (this.parent) { + this.parent.interpolate(); + } + else { + this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); + } + } + } + call() { + if (!this.isBound) { + return; + } + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode !== bindingMode.oneTime) { + this._version++; + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + this.unobserve(false); + } + } + bind(source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + let sourceExpression = this.sourceExpression; + if (sourceExpression.bind) { + sourceExpression.bind(this, source, this.lookupFunctions); + } + this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode === bindingMode.oneWay) { + enqueueBindingConnect(this); + } + } + unbind() { + if (!this.isBound) { + return; + } + this.isBound = false; + let sourceExpression = this.sourceExpression; + if (sourceExpression.unbind) { + sourceExpression.unbind(this, this.source); + } + this.source = null; + this.value = null; + this.rawValue = null; + this.unobserve(true); + } + connect(evaluate) { + if (!this.isBound) { + return; + } + if (evaluate) { + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + } + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + } +}; +ChildInterpolationBinding = __decorate([ + connectable() +], ChildInterpolationBinding); + +class LetExpression { + constructor(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + } + createBinding() { + return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); + } +} +let LetBinding = class LetBinding { + constructor(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.source = null; + this.target = null; + this.toBindingContext = toBindingContext; + } + updateTarget() { + const value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.target[this.targetProperty] = value; + } + call(context) { + if (!this.isBound) { + return; + } + if (context === sourceContext) { + this.updateTarget(); + return; + } + throw new Error(`Unexpected call context ${context}`); + } + bind(source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + if (this.sourceExpression.bind) { + this.sourceExpression.bind(this, source, this.lookupFunctions); + } + enqueueBindingConnect(this); + } + unbind() { + if (!this.isBound) { + return; + } + this.isBound = false; + if (this.sourceExpression.unbind) { + this.sourceExpression.unbind(this, this.source); + } + this.source = null; + this.target = null; + this.unobserve(true); + } + unobserve(arg0) { + throw new Error('Method not implemented.'); + } + connect() { + if (!this.isBound) { + return; + } + this.updateTarget(); + this.sourceExpression.connect(this, this.source); + } +}; +LetBinding = __decorate([ + connectable() +], LetBinding); + +class LetInterpolationBindingExpression { + constructor(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + } + createBinding() { + return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); + } +} +class LetInterpolationBinding { + constructor(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.parts = parts; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + this.target = null; + } + bind(source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + this.interpolationBinding = this.createInterpolationBinding(); + this.interpolationBinding.bind(source); + } + unbind() { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + this.target = null; + this.interpolationBinding.unbind(); + this.interpolationBinding = null; + } + createInterpolationBinding() { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], bindingMode.toView, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, bindingMode.toView, this.lookupFunctions); + } +} + +class SyntaxInterpreter { + constructor(parser, observerLocator, eventManager, attributeMap) { + this.parser = parser; + this.observerLocator = observerLocator; + this.eventManager = eventManager; + this.attributeMap = attributeMap; + } + interpret(resources, element, info, existingInstruction, context) { + if (info.command in this) { + return this[info.command](resources, element, info, existingInstruction, context); + } + return this.handleUnknownCommand(resources, element, info, existingInstruction, context); + } + handleUnknownCommand(resources, element, info, existingInstruction, context) { + LogManager.getLogger('templating-binding').warn('Unknown binding command.', info); + return existingInstruction; + } + determineDefaultBindingMode(element, attrName, context) { + let tagName = element.tagName.toLowerCase(); + if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' + || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') + || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' + || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' + || attrName === 'scrolltop' + || attrName === 'scrollleft') { + return bindingMode.twoWay; + } + if (context + && attrName in context.attributes + && context.attributes[attrName] + && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) { + return context.attributes[attrName].defaultBindingMode; + } + return bindingMode.toView; + } + bind(resources, element, info, existingInstruction, context) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null + ? this.determineDefaultBindingMode(element, info.attrName, context) + : info.defaultBindingMode, resources.lookupFunctions); + return instruction; + } + trigger(resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.none, true, resources.lookupFunctions); + } + capture(resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.capturing, true, resources.lookupFunctions); + } + delegate(resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.bubbling, true, resources.lookupFunctions); + } + call(resources, element, info, existingInstruction) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); + return instruction; + } + options(resources, element, info, existingInstruction, context) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + let attrValue = info.attrValue; + let language = this.language; + let name = null; + let target = ''; + let current; + let i; + let ii; + let inString = false; + let inEscape = false; + let foundName = false; + for (i = 0, ii = attrValue.length; i < ii; ++i) { + current = attrValue[i]; + if (current === ';' && !inString) { + if (!foundName) { + name = this._getPrimaryPropertyName(resources, context); + } + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } + target = ''; + name = null; + } + else if (current === ':' && name === null) { + foundName = true; + name = target.trim(); + target = ''; + } + else if (current === '\\') { + target += current; + inEscape = true; + continue; + } + else { + target += current; + if (name !== null && inEscape === false && current === '\'') { + inString = !inString; + } + } + inEscape = false; + } + if (!foundName) { + name = this._getPrimaryPropertyName(resources, context); + } + if (name !== null) { + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } + } + return instruction; + } + _getPrimaryPropertyName(resources, context) { + let type = resources.getAttribute(context.attributeName); + if (type && type.primaryProperty) { + return type.primaryProperty.attribute; + } + return null; + } + 'for'(resources, element, info, existingInstruction) { + let parts; + let keyValue; + let instruction; + let attrValue; + let isDestructuring; + attrValue = info.attrValue; + isDestructuring = attrValue.match(/^ *[[].+[\]]/); + parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); + if (parts.length !== 2) { + throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); + } + instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + if (isDestructuring) { + keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); + instruction.attributes.key = keyValue[0]; + instruction.attributes.value = keyValue[1]; + } + else { + instruction.attributes.local = parts[0]; + } + instruction.attributes.items = new BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), bindingMode.toView, resources.lookupFunctions); + return instruction; + } + 'two-way'(resources, element, info, existingInstruction) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.twoWay, resources.lookupFunctions); + return instruction; + } + 'to-view'(resources, element, info, existingInstruction) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.toView, resources.lookupFunctions); + return instruction; + } + 'from-view'(resources, element, info, existingInstruction) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.fromView, resources.lookupFunctions); + return instruction; + } + 'one-time'(resources, element, info, existingInstruction) { + let instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.oneTime, resources.lookupFunctions); + return instruction; + } +} +SyntaxInterpreter.inject = [Parser, ObserverLocator, EventManager, AttributeMap]; +Object.defineProperty(SyntaxInterpreter.prototype, 'one-way', Object.getOwnPropertyDescriptor(SyntaxInterpreter.prototype, 'to-view')); + +let info = {}; +class TemplatingBindingLanguage extends BindingLanguage { + constructor(parser, observerLocator, syntaxInterpreter, attributeMap) { + super(); + this.parser = parser; + this.observerLocator = observerLocator; + this.syntaxInterpreter = syntaxInterpreter; + this.emptyStringExpression = this.parser.parse('\'\''); + syntaxInterpreter.language = this; + this.attributeMap = attributeMap; + this.toBindingContextAttr = 'to-binding-context'; + } + inspectAttribute(resources, elementName, attrName, attrValue) { + let parts = attrName.split('.'); + info.defaultBindingMode = null; + if (parts.length === 2) { + info.attrName = parts[0].trim(); + info.attrValue = attrValue; + info.command = parts[1].trim(); + if (info.command === 'ref') { + info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); + info.command = null; + info.attrName = 'ref'; + } + else { + info.expression = null; + } + } + else if (attrName === 'ref') { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); + } + else { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + const interpolationParts = this.parseInterpolation(resources, attrValue); + if (interpolationParts === null) { + info.expression = null; + } + else { + info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, bindingMode.toView, resources.lookupFunctions, attrName); + } + } + return info; + } + createAttributeInstruction(resources, element, theInfo, existingInstruction, context) { + let instruction; + if (theInfo.expression) { + if (theInfo.attrName === 'ref') { + return theInfo.expression; + } + instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName); + instruction.attributes[theInfo.attrName] = theInfo.expression; + } + else if (theInfo.command) { + instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); + } + return instruction; + } + createLetExpressions(resources, letElement) { + let expressions = []; + let attributes = letElement.attributes; + let attr; + let parts; + let attrName; + let attrValue; + let command; + let toBindingContextAttr = this.toBindingContextAttr; + let toBindingContext = letElement.hasAttribute(toBindingContextAttr); + for (let i = 0, ii = attributes.length; ii > i; ++i) { + attr = attributes[i]; + attrName = attr.name; + attrValue = attr.nodeValue; + parts = attrName.split('.'); + if (attrName === toBindingContextAttr) { + continue; + } + if (parts.length === 2) { + command = parts[1]; + if (command !== 'bind') { + LogManager.getLogger('templating-binding-language') + .warn(`Detected invalid let command. Expected "${parts[0]}.bind", given "${attrName}"`); + continue; + } + expressions.push(new LetExpression(this.observerLocator, camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); + } + else { + attrName = camelCase(attrName); + parts = this.parseInterpolation(resources, attrValue); + if (parts === null) { + LogManager.getLogger('templating-binding-language') + .warn(`Detected string literal in let bindings. Did you mean "${attrName}.bind=${attrValue}" or "${attrName}=\${${attrValue}}" ?`); + } + if (parts) { + expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); + } + else { + expressions.push(new LetExpression(this.observerLocator, attrName, new LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); + } + } + } + return expressions; + } + inspectTextContent(resources, value) { + const parts = this.parseInterpolation(resources, value); + if (parts === null) { + return null; + } + return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, bindingMode.toView, resources.lookupFunctions, 'textContent'); + } + parseInterpolation(resources, value) { + let i = value.indexOf('${', 0); + let ii = value.length; + let char; + let pos = 0; + let open = 0; + let quote = null; + let interpolationStart; + let parts; + let partIndex = 0; + while (i >= 0 && i < ii - 2) { + open = 1; + interpolationStart = i; + i += 2; + do { + char = value[i]; + i++; + if (char === "'" || char === '"') { + if (quote === null) { + quote = char; + } + else if (quote === char) { + quote = null; + } + continue; + } + if (char === '\\') { + i++; + continue; + } + if (quote !== null) { + continue; + } + if (char === '{') { + open++; + } + else if (char === '}') { + open--; + } + } while (open > 0 && i < ii); + if (open === 0) { + parts = parts || []; + if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { + parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); + partIndex++; + parts[partIndex] = this.emptyStringExpression; + partIndex++; + } + else { + parts[partIndex] = value.substring(pos, interpolationStart); + partIndex++; + parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); + partIndex++; + } + pos = i; + i = value.indexOf('${', i); + } + else { + break; + } + } + if (partIndex === 0) { + return null; + } + parts[partIndex] = value.substr(pos); + return parts; + } +} +TemplatingBindingLanguage.inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap]; + +function configure(config) { + config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage); + config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage); +} + +export { AttributeMap, ChildInterpolationBinding, InterpolationBinding, InterpolationBindingExpression, LetBinding, LetExpression, LetInterpolationBinding, LetInterpolationBindingExpression, SyntaxInterpreter, TemplatingBindingLanguage, configure }; +//# sourceMappingURL=aurelia-templating-binding.js.map diff --git a/dist/es2017/aurelia-templating-binding.js.map b/dist/es2017/aurelia-templating-binding.js.map new file mode 100644 index 0000000..3106c2c --- /dev/null +++ b/dist/es2017/aurelia-templating-binding.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-templating-binding.js","sources":["../../src/attribute-map.ts","../../node_modules/tslib/tslib.es6.js","../../src/interpolation-binding-expression.ts","../../src/let-expression.ts","../../src/let-interpolation-expression.ts","../../src/syntax-interpreter.ts","../../src/binding-language.ts","../../src/aurelia-templating-binding.ts"],"sourcesContent":[null,"/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(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\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/es2017/index.js b/dist/es2017/index.js new file mode 100644 index 0000000..4654346 --- /dev/null +++ b/dist/es2017/index.js @@ -0,0 +1 @@ +export * from './aurelia-templating-binding'; \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts deleted file mode 100644 index 181a365..0000000 --- a/dist/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from 'aurelia-templating-binding/aurelia-templating-binding'; \ No newline at end of file diff --git a/dist/native-modules/aurelia-templating-binding.js b/dist/native-modules/aurelia-templating-binding.js index 2e3d791..eb26866 100644 --- a/dist/native-modules/aurelia-templating-binding.js +++ b/dist/native-modules/aurelia-templating-binding.js @@ -1,859 +1,779 @@ -var _class, _temp, _dec, _class2, _dec2, _class3, _class4, _temp2, _class5, _temp3; - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - - -import * as LogManager from 'aurelia-logging'; -import { camelCase, SVGAnalyzer, bindingMode, connectable, enqueueBindingConnect, sourceContext, Parser, ObserverLocator, EventManager, ListenerExpression, BindingExpression, CallExpression, delegationStrategy, NameExpression, LiteralString } from 'aurelia-binding'; import { BehaviorInstruction, BindingLanguage } from 'aurelia-templating'; +import { camelCase, SVGAnalyzer, bindingMode, enqueueBindingConnect, connectable, sourceContext, BindingExpression, ListenerExpression, delegationStrategy, CallExpression, Parser, ObserverLocator, EventManager, NameExpression, LiteralString } from 'aurelia-binding'; +import * as LogManager from 'aurelia-logging'; -export var AttributeMap = (_temp = _class = function () { - function AttributeMap(svg) { - - - this.elements = Object.create(null); - this.allElements = Object.create(null); - - this.svg = svg; - - this.registerUniversal('accesskey', 'accessKey'); - this.registerUniversal('contenteditable', 'contentEditable'); - this.registerUniversal('tabindex', 'tabIndex'); - this.registerUniversal('textcontent', 'textContent'); - this.registerUniversal('innerhtml', 'innerHTML'); - this.registerUniversal('scrolltop', 'scrollTop'); - this.registerUniversal('scrollleft', 'scrollLeft'); - this.registerUniversal('readonly', 'readOnly'); - - this.register('label', 'for', 'htmlFor'); - - this.register('img', 'usemap', 'useMap'); - - this.register('input', 'maxlength', 'maxLength'); - this.register('input', 'minlength', 'minLength'); - this.register('input', 'formaction', 'formAction'); - this.register('input', 'formenctype', 'formEncType'); - this.register('input', 'formmethod', 'formMethod'); - this.register('input', 'formnovalidate', 'formNoValidate'); - this.register('input', 'formtarget', 'formTarget'); - - this.register('textarea', 'maxlength', 'maxLength'); - - this.register('td', 'rowspan', 'rowSpan'); - this.register('td', 'colspan', 'colSpan'); - this.register('th', 'rowspan', 'rowSpan'); - this.register('th', 'colspan', 'colSpan'); - } - - AttributeMap.prototype.register = function register(elementName, attributeName, propertyName) { - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - var element = this.elements[elementName] = this.elements[elementName] || Object.create(null); - element[attributeName] = propertyName; - }; - - AttributeMap.prototype.registerUniversal = function registerUniversal(attributeName, propertyName) { - attributeName = attributeName.toLowerCase(); - this.allElements[attributeName] = propertyName; - }; - - AttributeMap.prototype.map = function map(elementName, attributeName) { - if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { - return attributeName; - } - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - var element = this.elements[elementName]; - if (element !== undefined && attributeName in element) { - return element[attributeName]; - } - if (attributeName in this.allElements) { - return this.allElements[attributeName]; - } - - if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { - return attributeName; - } - return camelCase(attributeName); - }; - - return AttributeMap; -}(), _class.inject = [SVGAnalyzer], _temp); - -export var InterpolationBindingExpression = function () { - function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { - - - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.attribute = this.attrToRemove = attribute; - this.discrete = false; - } - - InterpolationBindingExpression.prototype.createBinding = function createBinding(target) { - if (this.parts.length === 3) { - return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); - } - return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); - }; - - return InterpolationBindingExpression; -}(); - -function validateTarget(target, propertyName) { - if (propertyName === 'style') { - LogManager.getLogger('templating-binding').info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); - } else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { - throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); - } +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } -export var InterpolationBinding = function () { - function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { - - - validateTarget(target, targetProperty); - this.observerLocator = observerLocator; - this.parts = parts; - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - this.mode = mode; - this.lookupFunctions = lookupFunctions; - } - - InterpolationBinding.prototype.interpolate = function interpolate() { - if (this.isBound) { - var value = ''; - var parts = this.parts; - for (var i = 0, ii = parts.length; i < ii; i++) { - value += i % 2 === 0 ? parts[i] : this['childBinding' + i].value; - } - this.targetAccessor.setValue(value, this.target, this.targetProperty); - } - }; - - InterpolationBinding.prototype.updateOneTimeBindings = function updateOneTimeBindings() { - for (var i = 1, ii = this.parts.length; i < ii; i += 2) { - var child = this['childBinding' + i]; - if (child.mode === bindingMode.oneTime) { - child.call(); - } - } - }; - - InterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.source = source; - - var parts = this.parts; - for (var i = 1, ii = parts.length; i < ii; i += 2) { - var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); - binding.bind(source); - this['childBinding' + i] = binding; - } - - this.isBound = true; - this.interpolate(); - }; - - InterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - var parts = this.parts; - for (var i = 1, ii = parts.length; i < ii; i += 2) { - var name = 'childBinding' + i; - this[name].unbind(); - } - }; - - return InterpolationBinding; -}(); - -export var ChildInterpolationBinding = (_dec = connectable(), _dec(_class2 = function () { - function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { - - - if (target instanceof InterpolationBinding) { - this.parent = target; - } else { - validateTarget(target, targetProperty); - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - } - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.left = left; - this.right = right; - } - - ChildInterpolationBinding.prototype.updateTarget = function updateTarget(value) { - value = value === null || value === undefined ? '' : value.toString(); - if (value !== this.value) { - this.value = value; - if (this.parent) { - this.parent.interpolate(); - } else { - this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); - } - } - }; - - ChildInterpolationBinding.prototype.call = function call() { - if (!this.isBound) { - return; - } - - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode !== bindingMode.oneTime) { - this._version++; - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); - } - this.unobserve(false); - } - }; - - ChildInterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.isBound = true; - this.source = source; - - var sourceExpression = this.sourceExpression; - if (sourceExpression.bind) { - sourceExpression.bind(this, source, this.lookupFunctions); - } - - this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode === bindingMode.oneWay) { - enqueueBindingConnect(this); - } - }; - - ChildInterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - var sourceExpression = this.sourceExpression; - if (sourceExpression.unbind) { - sourceExpression.unbind(this, this.source); - } - this.source = null; - this.value = null; - this.rawValue = null; - this.unobserve(true); - }; - - ChildInterpolationBinding.prototype.connect = function connect(evaluate) { - if (!this.isBound) { - return; - } - if (evaluate) { - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - } - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); - } - }; - - return ChildInterpolationBinding; -}()) || _class2); - -export var LetExpression = function () { - function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - LetExpression.prototype.createBinding = function createBinding() { - return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); - }; - - return LetExpression; -}(); - -export var LetBinding = (_dec2 = connectable(), _dec2(_class3 = function () { - function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.source = null; - this.target = null; - this.toBindingContext = toBindingContext; - } - - LetBinding.prototype.updateTarget = function updateTarget() { - var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.target[this.targetProperty] = value; - }; - - LetBinding.prototype.call = function call(context) { - if (!this.isBound) { - return; - } - if (context === sourceContext) { - this.updateTarget(); - return; - } - throw new Error('Unexpected call context ' + context); - }; - - LetBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - if (this.sourceExpression.bind) { - this.sourceExpression.bind(this, source, this.lookupFunctions); - } - - enqueueBindingConnect(this); - }; - - LetBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - if (this.sourceExpression.unbind) { - this.sourceExpression.unbind(this, this.source); - } - this.source = null; - this.target = null; - this.unobserve(true); - }; - - LetBinding.prototype.connect = function connect() { - if (!this.isBound) { - return; - } - this.updateTarget(); - this.sourceExpression.connect(this, this.source); - }; - - return LetBinding; -}()) || _class3); - -export var LetInterpolationBindingExpression = function () { - function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - LetInterpolationBindingExpression.prototype.createBinding = function createBinding() { - return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); - }; - - return LetInterpolationBindingExpression; -}(); - -export var LetInterpolationBinding = function () { - function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.parts = parts; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - this.target = null; - } - - LetInterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - this.interpolationBinding = this.createInterpolationBinding(); - this.interpolationBinding.bind(source); - }; - - LetInterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - this.target = null; - this.interpolationBinding.unbind(); - this.interpolationBinding = null; - }; - - LetInterpolationBinding.prototype.createInterpolationBinding = function createInterpolationBinding() { - if (this.parts.length === 3) { - return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], bindingMode.oneWay, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); - } - return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, bindingMode.oneWay, this.lookupFunctions); - }; - - return LetInterpolationBinding; -}(); - -export var SyntaxInterpreter = (_temp2 = _class4 = function () { - function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) { - - - this.parser = parser; - this.observerLocator = observerLocator; - this.eventManager = eventManager; - this.attributeMap = attributeMap; - } - - SyntaxInterpreter.prototype.interpret = function interpret(resources, element, info, existingInstruction, context) { - if (info.command in this) { - return this[info.command](resources, element, info, existingInstruction, context); - } - - return this.handleUnknownCommand(resources, element, info, existingInstruction, context); - }; - - SyntaxInterpreter.prototype.handleUnknownCommand = function handleUnknownCommand(resources, element, info, existingInstruction, context) { - LogManager.getLogger('templating-binding').warn('Unknown binding command.', info); - return existingInstruction; - }; - - SyntaxInterpreter.prototype.determineDefaultBindingMode = function determineDefaultBindingMode(element, attrName, context) { - var tagName = element.tagName.toLowerCase(); +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} - if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' || attrName === 'scrolltop' || attrName === 'scrollleft') { - return bindingMode.twoWay; +var AttributeMap = (function () { + function AttributeMap(svg) { + this.elements = Object.create(null); + this.allElements = Object.create(null); + this.svg = svg; + this.registerUniversal('accesskey', 'accessKey'); + this.registerUniversal('contenteditable', 'contentEditable'); + this.registerUniversal('tabindex', 'tabIndex'); + this.registerUniversal('textcontent', 'textContent'); + this.registerUniversal('innerhtml', 'innerHTML'); + this.registerUniversal('scrolltop', 'scrollTop'); + this.registerUniversal('scrollleft', 'scrollLeft'); + this.registerUniversal('readonly', 'readOnly'); + this.register('label', 'for', 'htmlFor'); + this.register('img', 'usemap', 'useMap'); + this.register('input', 'maxlength', 'maxLength'); + this.register('input', 'minlength', 'minLength'); + this.register('input', 'formaction', 'formAction'); + this.register('input', 'formenctype', 'formEncType'); + this.register('input', 'formmethod', 'formMethod'); + this.register('input', 'formnovalidate', 'formNoValidate'); + this.register('input', 'formtarget', 'formTarget'); + this.register('textarea', 'maxlength', 'maxLength'); + this.register('td', 'rowspan', 'rowSpan'); + this.register('td', 'colspan', 'colSpan'); + this.register('th', 'rowspan', 'rowSpan'); + this.register('th', 'colspan', 'colSpan'); + } + AttributeMap.prototype.register = function (elementName, attributeName, propertyName) { + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + var element = this.elements[elementName] = (this.elements[elementName] || Object.create(null)); + element[attributeName] = propertyName; + }; + AttributeMap.prototype.registerUniversal = function (attributeName, propertyName) { + attributeName = attributeName.toLowerCase(); + this.allElements[attributeName] = propertyName; + }; + AttributeMap.prototype.map = function (elementName, attributeName) { + if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { + return attributeName; + } + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + var element = this.elements[elementName]; + if (element !== undefined && attributeName in element) { + return element[attributeName]; + } + if (attributeName in this.allElements) { + return this.allElements[attributeName]; + } + if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { + return attributeName; + } + return camelCase(attributeName); + }; + AttributeMap.inject = [SVGAnalyzer]; + return AttributeMap; +}()); + +var InterpolationBindingExpression = (function () { + function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.attribute = this.attrToRemove = attribute; + this.discrete = false; + } + InterpolationBindingExpression.prototype.createBinding = function (target) { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); + }; + return InterpolationBindingExpression; +}()); +function validateTarget(target, propertyName) { + if (propertyName === 'style') { + LogManager.getLogger('templating-binding') + .info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); } - - if (context && attrName in context.attributes && context.attributes[attrName] && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) { - return context.attributes[attrName].defaultBindingMode; + else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { + throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); } - - return bindingMode.oneWay; - }; - - SyntaxInterpreter.prototype.bind = function bind(resources, element, info, existingInstruction, context) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null ? this.determineDefaultBindingMode(element, info.attrName, context) : info.defaultBindingMode, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype.trigger = function trigger(resources, element, info) { - return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.none, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.capture = function capture(resources, element, info) { - return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.capturing, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.delegate = function delegate(resources, element, info) { - return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.bubbling, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.call = function call(resources, element, info, existingInstruction) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype.options = function options(resources, element, info, existingInstruction, context) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - var attrValue = info.attrValue; - var language = this.language; - var name = null; - var target = ''; - var current = void 0; - var i = void 0; - var ii = void 0; - var inString = false; - var inEscape = false; - var foundName = false; - - for (i = 0, ii = attrValue.length; i < ii; ++i) { - current = attrValue[i]; - - if (current === ';' && !inString) { +} +var InterpolationBinding = (function () { + function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { + validateTarget(target, targetProperty); + this.observerLocator = observerLocator; + this.parts = parts; + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + this.mode = mode; + this.lookupFunctions = lookupFunctions; + } + InterpolationBinding.prototype.interpolate = function () { + if (this.isBound) { + var value = ''; + var parts = this.parts; + for (var i = 0, ii = parts.length; i < ii; i++) { + value += (i % 2 === 0 ? parts[i] : this["childBinding".concat(i)].value); + } + this.targetAccessor.setValue(value, this.target, this.targetProperty); + } + }; + InterpolationBinding.prototype.updateOneTimeBindings = function () { + for (var i = 1, ii = this.parts.length; i < ii; i += 2) { + var child = this["childBinding".concat(i)]; + if (child.mode === bindingMode.oneTime) { + child.call(); + } + } + }; + InterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.source = source; + var parts = this.parts; + for (var i = 1, ii = parts.length; i < ii; i += 2) { + var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); + binding.bind(source); + this["childBinding".concat(i)] = binding; + } + this.isBound = true; + this.interpolate(); + }; + InterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + var parts = this.parts; + for (var i = 1, ii = parts.length; i < ii; i += 2) { + var name_1 = "childBinding".concat(i); + this[name_1].unbind(); + } + }; + return InterpolationBinding; +}()); +var ChildInterpolationBinding = (function () { + function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { + if (target instanceof InterpolationBinding) { + this.parent = target; + } + else { + validateTarget(target, targetProperty); + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + } + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.left = left; + this.right = right; + } + ChildInterpolationBinding.prototype.updateTarget = function (value) { + value = value === null || value === undefined ? '' : value.toString(); + if (value !== this.value) { + this.value = value; + if (this.parent) { + this.parent.interpolate(); + } + else { + this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); + } + } + }; + ChildInterpolationBinding.prototype.call = function () { + if (!this.isBound) { + return; + } + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode !== bindingMode.oneTime) { + this._version++; + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + this.unobserve(false); + } + }; + ChildInterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + var sourceExpression = this.sourceExpression; + if (sourceExpression.bind) { + sourceExpression.bind(this, source, this.lookupFunctions); + } + this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode === bindingMode.oneWay) { + enqueueBindingConnect(this); + } + }; + ChildInterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + var sourceExpression = this.sourceExpression; + if (sourceExpression.unbind) { + sourceExpression.unbind(this, this.source); + } + this.source = null; + this.value = null; + this.rawValue = null; + this.unobserve(true); + }; + ChildInterpolationBinding.prototype.connect = function (evaluate) { + if (!this.isBound) { + return; + } + if (evaluate) { + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + } + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + }; + ChildInterpolationBinding = __decorate([ + connectable() + ], ChildInterpolationBinding); + return ChildInterpolationBinding; +}()); + +var LetExpression = (function () { + function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + } + LetExpression.prototype.createBinding = function () { + return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); + }; + return LetExpression; +}()); +var LetBinding = (function () { + function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.source = null; + this.target = null; + this.toBindingContext = toBindingContext; + } + LetBinding.prototype.updateTarget = function () { + var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.target[this.targetProperty] = value; + }; + LetBinding.prototype.call = function (context) { + if (!this.isBound) { + return; + } + if (context === sourceContext) { + this.updateTarget(); + return; + } + throw new Error("Unexpected call context ".concat(context)); + }; + LetBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + if (this.sourceExpression.bind) { + this.sourceExpression.bind(this, source, this.lookupFunctions); + } + enqueueBindingConnect(this); + }; + LetBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + if (this.sourceExpression.unbind) { + this.sourceExpression.unbind(this, this.source); + } + this.source = null; + this.target = null; + this.unobserve(true); + }; + LetBinding.prototype.unobserve = function (arg0) { + throw new Error('Method not implemented.'); + }; + LetBinding.prototype.connect = function () { + if (!this.isBound) { + return; + } + this.updateTarget(); + this.sourceExpression.connect(this, this.source); + }; + LetBinding = __decorate([ + connectable() + ], LetBinding); + return LetBinding; +}()); + +var LetInterpolationBindingExpression = (function () { + function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + } + LetInterpolationBindingExpression.prototype.createBinding = function () { + return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); + }; + return LetInterpolationBindingExpression; +}()); +var LetInterpolationBinding = (function () { + function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.parts = parts; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + this.target = null; + } + LetInterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + this.interpolationBinding = this.createInterpolationBinding(); + this.interpolationBinding.bind(source); + }; + LetInterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + this.target = null; + this.interpolationBinding.unbind(); + this.interpolationBinding = null; + }; + LetInterpolationBinding.prototype.createInterpolationBinding = function () { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], bindingMode.toView, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, bindingMode.toView, this.lookupFunctions); + }; + return LetInterpolationBinding; +}()); + +var SyntaxInterpreter = (function () { + function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) { + this.parser = parser; + this.observerLocator = observerLocator; + this.eventManager = eventManager; + this.attributeMap = attributeMap; + } + SyntaxInterpreter.prototype.interpret = function (resources, element, info, existingInstruction, context) { + if (info.command in this) { + return this[info.command](resources, element, info, existingInstruction, context); + } + return this.handleUnknownCommand(resources, element, info, existingInstruction, context); + }; + SyntaxInterpreter.prototype.handleUnknownCommand = function (resources, element, info, existingInstruction, context) { + LogManager.getLogger('templating-binding').warn('Unknown binding command.', info); + return existingInstruction; + }; + SyntaxInterpreter.prototype.determineDefaultBindingMode = function (element, attrName, context) { + var tagName = element.tagName.toLowerCase(); + if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' + || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') + || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' + || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' + || attrName === 'scrolltop' + || attrName === 'scrollleft') { + return bindingMode.twoWay; + } + if (context + && attrName in context.attributes + && context.attributes[attrName] + && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) { + return context.attributes[attrName].defaultBindingMode; + } + return bindingMode.toView; + }; + SyntaxInterpreter.prototype.bind = function (resources, element, info, existingInstruction, context) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null + ? this.determineDefaultBindingMode(element, info.attrName, context) + : info.defaultBindingMode, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype.trigger = function (resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.none, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.capture = function (resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.capturing, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.delegate = function (resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.bubbling, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.call = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype.options = function (resources, element, info, existingInstruction, context) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + var attrValue = info.attrValue; + var language = this.language; + var name = null; + var target = ''; + var current; + var i; + var ii; + var inString = false; + var inEscape = false; + var foundName = false; + for (i = 0, ii = attrValue.length; i < ii; ++i) { + current = attrValue[i]; + if (current === ';' && !inString) { + if (!foundName) { + name = this._getPrimaryPropertyName(resources, context); + } + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } + target = ''; + name = null; + } + else if (current === ':' && name === null) { + foundName = true; + name = target.trim(); + target = ''; + } + else if (current === '\\') { + target += current; + inEscape = true; + continue; + } + else { + target += current; + if (name !== null && inEscape === false && current === '\'') { + inString = !inString; + } + } + inEscape = false; + } if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); + name = this._getPrimaryPropertyName(resources, context); } - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; + if (name !== null) { + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } } - - target = ''; - name = null; - } else if (current === ':' && name === null) { - foundName = true; - name = target.trim(); - target = ''; - } else if (current === '\\') { - target += current; - inEscape = true; - continue; - } else { - target += current; - - if (name !== null && inEscape === false && current === '\'') { - inString = !inString; + return instruction; + }; + SyntaxInterpreter.prototype._getPrimaryPropertyName = function (resources, context) { + var type = resources.getAttribute(context.attributeName); + if (type && type.primaryProperty) { + return type.primaryProperty.attribute; } - } - - inEscape = false; - } - - if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); - } - - if (name !== null) { - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; - } - } - - return instruction; - }; - - SyntaxInterpreter.prototype._getPrimaryPropertyName = function _getPrimaryPropertyName(resources, context) { - var type = resources.getAttribute(context.attributeName); - if (type && type.primaryProperty) { - return type.primaryProperty.attribute; - } - return null; - }; - - SyntaxInterpreter.prototype['for'] = function _for(resources, element, info, existingInstruction) { - var parts = void 0; - var keyValue = void 0; - var instruction = void 0; - var attrValue = void 0; - var isDestructuring = void 0; - - attrValue = info.attrValue; - isDestructuring = attrValue.match(/^ *[[].+[\]]/); - parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); - - if (parts.length !== 2) { - throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); - } - - instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - if (isDestructuring) { - keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); - instruction.attributes.key = keyValue[0]; - instruction.attributes.value = keyValue[1]; - } else { - instruction.attributes.local = parts[0]; - } - - instruction.attributes.items = new BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), bindingMode.oneWay, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['two-way'] = function twoWay(resources, element, info, existingInstruction) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.twoWay, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['to-view'] = function toView(resources, element, info, existingInstruction) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.toView, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['from-view'] = function fromView(resources, element, info, existingInstruction) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.fromView, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['one-time'] = function oneTime(resources, element, info, existingInstruction) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.oneTime, resources.lookupFunctions); - - return instruction; - }; - - return SyntaxInterpreter; -}(), _class4.inject = [Parser, ObserverLocator, EventManager, AttributeMap], _temp2); - -SyntaxInterpreter.prototype['one-way'] = SyntaxInterpreter.prototype['to-view']; + return null; + }; + SyntaxInterpreter.prototype['for'] = function (resources, element, info, existingInstruction) { + var parts; + var keyValue; + var instruction; + var attrValue; + var isDestructuring; + attrValue = info.attrValue; + isDestructuring = attrValue.match(/^ *[[].+[\]]/); + parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); + if (parts.length !== 2) { + throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); + } + instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + if (isDestructuring) { + keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); + instruction.attributes.key = keyValue[0]; + instruction.attributes.value = keyValue[1]; + } + else { + instruction.attributes.local = parts[0]; + } + instruction.attributes.items = new BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), bindingMode.toView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['two-way'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.twoWay, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['to-view'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.toView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['from-view'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.fromView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['one-time'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.oneTime, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.inject = [Parser, ObserverLocator, EventManager, AttributeMap]; + return SyntaxInterpreter; +}()); +Object.defineProperty(SyntaxInterpreter.prototype, 'one-way', Object.getOwnPropertyDescriptor(SyntaxInterpreter.prototype, 'to-view')); var info = {}; - -export var TemplatingBindingLanguage = (_temp3 = _class5 = function (_BindingLanguage) { - _inherits(TemplatingBindingLanguage, _BindingLanguage); - - function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) { - - - var _this = _possibleConstructorReturn(this, _BindingLanguage.call(this)); - - _this.parser = parser; - _this.observerLocator = observerLocator; - _this.syntaxInterpreter = syntaxInterpreter; - _this.emptyStringExpression = _this.parser.parse('\'\''); - syntaxInterpreter.language = _this; - _this.attributeMap = attributeMap; - _this.toBindingContextAttr = 'to-binding-context'; - return _this; - } - - TemplatingBindingLanguage.prototype.inspectAttribute = function inspectAttribute(resources, elementName, attrName, attrValue) { - var parts = attrName.split('.'); - - info.defaultBindingMode = null; - - if (parts.length === 2) { - info.attrName = parts[0].trim(); - info.attrValue = attrValue; - info.command = parts[1].trim(); - - if (info.command === 'ref') { - info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); - info.command = null; - info.attrName = 'ref'; - } else { - info.expression = null; - } - } else if (attrName === 'ref') { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); - } else { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - var interpolationParts = this.parseInterpolation(resources, attrValue); - if (interpolationParts === null) { - info.expression = null; - } else { - info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, bindingMode.oneWay, resources.lookupFunctions, attrName); - } - } - - return info; - }; - - TemplatingBindingLanguage.prototype.createAttributeInstruction = function createAttributeInstruction(resources, element, theInfo, existingInstruction, context) { - var instruction = void 0; - - if (theInfo.expression) { - if (theInfo.attrName === 'ref') { - return theInfo.expression; - } - - instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName); - instruction.attributes[theInfo.attrName] = theInfo.expression; - } else if (theInfo.command) { - instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); - } - - return instruction; - }; - - TemplatingBindingLanguage.prototype.createLetExpressions = function createLetExpressions(resources, letElement) { - var expressions = []; - var attributes = letElement.attributes; - - var attr = void 0; - - var parts = void 0; - var attrName = void 0; - var attrValue = void 0; - var command = void 0; - var toBindingContextAttr = this.toBindingContextAttr; - var toBindingContext = letElement.hasAttribute(toBindingContextAttr); - for (var i = 0, ii = attributes.length; ii > i; ++i) { - attr = attributes[i]; - attrName = attr.name; - attrValue = attr.nodeValue; - parts = attrName.split('.'); - - if (attrName === toBindingContextAttr) { - continue; - } - - if (parts.length === 2) { - command = parts[1]; - if (command !== 'bind') { - LogManager.getLogger('templating-binding-language').warn('Detected invalid let command. Expected "' + parts[0] + '.bind", given "' + attrName + '"'); - continue; - } - expressions.push(new LetExpression(this.observerLocator, camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); - } else { - attrName = camelCase(attrName); - parts = this.parseInterpolation(resources, attrValue); - if (parts === null) { - LogManager.getLogger('templating-binding-language').warn('Detected string literal in let bindings. Did you mean "' + attrName + '.bind=' + attrValue + '" or "' + attrName + '=${' + attrValue + '}" ?'); +var TemplatingBindingLanguage = (function (_super) { + __extends(TemplatingBindingLanguage, _super); + function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) { + var _this = _super.call(this) || this; + _this.parser = parser; + _this.observerLocator = observerLocator; + _this.syntaxInterpreter = syntaxInterpreter; + _this.emptyStringExpression = _this.parser.parse('\'\''); + syntaxInterpreter.language = _this; + _this.attributeMap = attributeMap; + _this.toBindingContextAttr = 'to-binding-context'; + return _this; + } + TemplatingBindingLanguage.prototype.inspectAttribute = function (resources, elementName, attrName, attrValue) { + var parts = attrName.split('.'); + info.defaultBindingMode = null; + if (parts.length === 2) { + info.attrName = parts[0].trim(); + info.attrValue = attrValue; + info.command = parts[1].trim(); + if (info.command === 'ref') { + info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); + info.command = null; + info.attrName = 'ref'; + } + else { + info.expression = null; + } } - if (parts) { - expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); - } else { - expressions.push(new LetExpression(this.observerLocator, attrName, new LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); + else if (attrName === 'ref') { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); } - } - } - return expressions; - }; - - TemplatingBindingLanguage.prototype.inspectTextContent = function inspectTextContent(resources, value) { - var parts = this.parseInterpolation(resources, value); - if (parts === null) { - return null; - } - return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, bindingMode.oneWay, resources.lookupFunctions, 'textContent'); - }; - - TemplatingBindingLanguage.prototype.parseInterpolation = function parseInterpolation(resources, value) { - var i = value.indexOf('${', 0); - var ii = value.length; - var char = void 0; - var pos = 0; - var open = 0; - var quote = null; - var interpolationStart = void 0; - var parts = void 0; - var partIndex = 0; - - while (i >= 0 && i < ii - 2) { - open = 1; - interpolationStart = i; - i += 2; - - do { - char = value[i]; - i++; - - if (char === "'" || char === '"') { - if (quote === null) { - quote = char; - } else if (quote === char) { - quote = null; - } - continue; + else { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + var interpolationParts = this.parseInterpolation(resources, attrValue); + if (interpolationParts === null) { + info.expression = null; + } + else { + info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, bindingMode.toView, resources.lookupFunctions, attrName); + } } - - if (char === '\\') { - i++; - continue; + return info; + }; + TemplatingBindingLanguage.prototype.createAttributeInstruction = function (resources, element, theInfo, existingInstruction, context) { + var instruction; + if (theInfo.expression) { + if (theInfo.attrName === 'ref') { + return theInfo.expression; + } + instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName); + instruction.attributes[theInfo.attrName] = theInfo.expression; } - - if (quote !== null) { - continue; + else if (theInfo.command) { + instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); } - - if (char === '{') { - open++; - } else if (char === '}') { - open--; + return instruction; + }; + TemplatingBindingLanguage.prototype.createLetExpressions = function (resources, letElement) { + var expressions = []; + var attributes = letElement.attributes; + var attr; + var parts; + var attrName; + var attrValue; + var command; + var toBindingContextAttr = this.toBindingContextAttr; + var toBindingContext = letElement.hasAttribute(toBindingContextAttr); + for (var i = 0, ii = attributes.length; ii > i; ++i) { + attr = attributes[i]; + attrName = attr.name; + attrValue = attr.nodeValue; + parts = attrName.split('.'); + if (attrName === toBindingContextAttr) { + continue; + } + if (parts.length === 2) { + command = parts[1]; + if (command !== 'bind') { + LogManager.getLogger('templating-binding-language') + .warn("Detected invalid let command. Expected \"".concat(parts[0], ".bind\", given \"").concat(attrName, "\"")); + continue; + } + expressions.push(new LetExpression(this.observerLocator, camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); + } + else { + attrName = camelCase(attrName); + parts = this.parseInterpolation(resources, attrValue); + if (parts === null) { + LogManager.getLogger('templating-binding-language') + .warn("Detected string literal in let bindings. Did you mean \"".concat(attrName, ".bind=").concat(attrValue, "\" or \"").concat(attrName, "=${").concat(attrValue, "}\" ?")); + } + if (parts) { + expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); + } + else { + expressions.push(new LetExpression(this.observerLocator, attrName, new LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); + } + } } - } while (open > 0 && i < ii); - - if (open === 0) { - parts = parts || []; - if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { - parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); - partIndex++; - parts[partIndex] = this.emptyStringExpression; - partIndex++; - } else { - parts[partIndex] = value.substring(pos, interpolationStart); - partIndex++; - parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); - partIndex++; - } - pos = i; - i = value.indexOf('${', i); - } else { - break; - } - } - - if (partIndex === 0) { - return null; - } - - parts[partIndex] = value.substr(pos); - return parts; - }; - - return TemplatingBindingLanguage; -}(BindingLanguage), _class5.inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap], _temp3); + return expressions; + }; + TemplatingBindingLanguage.prototype.inspectTextContent = function (resources, value) { + var parts = this.parseInterpolation(resources, value); + if (parts === null) { + return null; + } + return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, bindingMode.toView, resources.lookupFunctions, 'textContent'); + }; + TemplatingBindingLanguage.prototype.parseInterpolation = function (resources, value) { + var i = value.indexOf('${', 0); + var ii = value.length; + var char; + var pos = 0; + var open = 0; + var quote = null; + var interpolationStart; + var parts; + var partIndex = 0; + while (i >= 0 && i < ii - 2) { + open = 1; + interpolationStart = i; + i += 2; + do { + char = value[i]; + i++; + if (char === "'" || char === '"') { + if (quote === null) { + quote = char; + } + else if (quote === char) { + quote = null; + } + continue; + } + if (char === '\\') { + i++; + continue; + } + if (quote !== null) { + continue; + } + if (char === '{') { + open++; + } + else if (char === '}') { + open--; + } + } while (open > 0 && i < ii); + if (open === 0) { + parts = parts || []; + if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { + parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); + partIndex++; + parts[partIndex] = this.emptyStringExpression; + partIndex++; + } + else { + parts[partIndex] = value.substring(pos, interpolationStart); + partIndex++; + parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); + partIndex++; + } + pos = i; + i = value.indexOf('${', i); + } + else { + break; + } + } + if (partIndex === 0) { + return null; + } + parts[partIndex] = value.substr(pos); + return parts; + }; + TemplatingBindingLanguage.inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap]; + return TemplatingBindingLanguage; +}(BindingLanguage)); + +function configure(config) { + config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage); + config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage); +} -export function configure(config) { - config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage); - config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage); -} \ No newline at end of file +export { AttributeMap, ChildInterpolationBinding, InterpolationBinding, InterpolationBindingExpression, LetBinding, LetExpression, LetInterpolationBinding, LetInterpolationBindingExpression, SyntaxInterpreter, TemplatingBindingLanguage, configure }; +//# sourceMappingURL=aurelia-templating-binding.js.map diff --git a/dist/native-modules/aurelia-templating-binding.js.map b/dist/native-modules/aurelia-templating-binding.js.map new file mode 100644 index 0000000..97c4a0d --- /dev/null +++ b/dist/native-modules/aurelia-templating-binding.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-templating-binding.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/attribute-map.ts","../../src/interpolation-binding-expression.ts","../../src/let-expression.ts","../../src/let-interpolation-expression.ts","../../src/syntax-interpreter.ts","../../src/binding-language.ts","../../src/aurelia-templating-binding.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(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\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/system/aurelia-templating-binding.js b/dist/system/aurelia-templating-binding.js index a2685d1..625b354 100644 --- a/dist/system/aurelia-templating-binding.js +++ b/dist/system/aurelia-templating-binding.js @@ -1,929 +1,807 @@ -'use strict'; - -System.register(['aurelia-logging', 'aurelia-binding', 'aurelia-templating'], function (_export, _context) { - "use strict"; - - var LogManager, camelCase, SVGAnalyzer, bindingMode, connectable, enqueueBindingConnect, sourceContext, Parser, ObserverLocator, EventManager, ListenerExpression, BindingExpression, CallExpression, delegationStrategy, NameExpression, LiteralString, BehaviorInstruction, BindingLanguage, _class, _temp, _dec, _class2, _dec2, _class3, _class4, _temp2, _class5, _temp3, AttributeMap, InterpolationBindingExpression, InterpolationBinding, ChildInterpolationBinding, LetExpression, LetBinding, LetInterpolationBindingExpression, LetInterpolationBinding, SyntaxInterpreter, info, TemplatingBindingLanguage; - - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return call && (typeof call === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); - } - - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - enumerable: false, - writable: true, - configurable: true - } - }); - if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - - - function validateTarget(target, propertyName) { - if (propertyName === 'style') { - LogManager.getLogger('templating-binding').info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); - } else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { - throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); - } - } - - function configure(config) { - config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage); - config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage); - } - - _export('configure', configure); - - return { - setters: [function (_aureliaLogging) { - LogManager = _aureliaLogging; - }, function (_aureliaBinding) { - camelCase = _aureliaBinding.camelCase; - SVGAnalyzer = _aureliaBinding.SVGAnalyzer; - bindingMode = _aureliaBinding.bindingMode; - connectable = _aureliaBinding.connectable; - enqueueBindingConnect = _aureliaBinding.enqueueBindingConnect; - sourceContext = _aureliaBinding.sourceContext; - Parser = _aureliaBinding.Parser; - ObserverLocator = _aureliaBinding.ObserverLocator; - EventManager = _aureliaBinding.EventManager; - ListenerExpression = _aureliaBinding.ListenerExpression; - BindingExpression = _aureliaBinding.BindingExpression; - CallExpression = _aureliaBinding.CallExpression; - delegationStrategy = _aureliaBinding.delegationStrategy; - NameExpression = _aureliaBinding.NameExpression; - LiteralString = _aureliaBinding.LiteralString; - }, function (_aureliaTemplating) { - BehaviorInstruction = _aureliaTemplating.BehaviorInstruction; - BindingLanguage = _aureliaTemplating.BindingLanguage; - }], - execute: function () { - _export('AttributeMap', AttributeMap = (_temp = _class = function () { - function AttributeMap(svg) { - - - this.elements = Object.create(null); - this.allElements = Object.create(null); - - this.svg = svg; - - this.registerUniversal('accesskey', 'accessKey'); - this.registerUniversal('contenteditable', 'contentEditable'); - this.registerUniversal('tabindex', 'tabIndex'); - this.registerUniversal('textcontent', 'textContent'); - this.registerUniversal('innerhtml', 'innerHTML'); - this.registerUniversal('scrolltop', 'scrollTop'); - this.registerUniversal('scrollleft', 'scrollLeft'); - this.registerUniversal('readonly', 'readOnly'); - - this.register('label', 'for', 'htmlFor'); - - this.register('img', 'usemap', 'useMap'); - - this.register('input', 'maxlength', 'maxLength'); - this.register('input', 'minlength', 'minLength'); - this.register('input', 'formaction', 'formAction'); - this.register('input', 'formenctype', 'formEncType'); - this.register('input', 'formmethod', 'formMethod'); - this.register('input', 'formnovalidate', 'formNoValidate'); - this.register('input', 'formtarget', 'formTarget'); - - this.register('textarea', 'maxlength', 'maxLength'); - - this.register('td', 'rowspan', 'rowSpan'); - this.register('td', 'colspan', 'colSpan'); - this.register('th', 'rowspan', 'rowSpan'); - this.register('th', 'colspan', 'colSpan'); - } - - AttributeMap.prototype.register = function register(elementName, attributeName, propertyName) { - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - var element = this.elements[elementName] = this.elements[elementName] || Object.create(null); - element[attributeName] = propertyName; - }; - - AttributeMap.prototype.registerUniversal = function registerUniversal(attributeName, propertyName) { - attributeName = attributeName.toLowerCase(); - this.allElements[attributeName] = propertyName; - }; - - AttributeMap.prototype.map = function map(elementName, attributeName) { - if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { - return attributeName; - } - elementName = elementName.toLowerCase(); - attributeName = attributeName.toLowerCase(); - var element = this.elements[elementName]; - if (element !== undefined && attributeName in element) { - return element[attributeName]; - } - if (attributeName in this.allElements) { - return this.allElements[attributeName]; - } - - if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { - return attributeName; - } - return camelCase(attributeName); - }; - - return AttributeMap; - }(), _class.inject = [SVGAnalyzer], _temp)); - - _export('AttributeMap', AttributeMap); - - _export('InterpolationBindingExpression', InterpolationBindingExpression = function () { - function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { - - - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.attribute = this.attrToRemove = attribute; - this.discrete = false; - } - - InterpolationBindingExpression.prototype.createBinding = function createBinding(target) { - if (this.parts.length === 3) { - return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); - } - return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); - }; - - return InterpolationBindingExpression; - }()); - - _export('InterpolationBindingExpression', InterpolationBindingExpression); - - _export('InterpolationBinding', InterpolationBinding = function () { - function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { - - - validateTarget(target, targetProperty); - this.observerLocator = observerLocator; - this.parts = parts; - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - this.mode = mode; - this.lookupFunctions = lookupFunctions; - } - - InterpolationBinding.prototype.interpolate = function interpolate() { - if (this.isBound) { - var value = ''; - var parts = this.parts; - for (var i = 0, ii = parts.length; i < ii; i++) { - value += i % 2 === 0 ? parts[i] : this['childBinding' + i].value; - } - this.targetAccessor.setValue(value, this.target, this.targetProperty); - } - }; - - InterpolationBinding.prototype.updateOneTimeBindings = function updateOneTimeBindings() { - for (var i = 1, ii = this.parts.length; i < ii; i += 2) { - var child = this['childBinding' + i]; - if (child.mode === bindingMode.oneTime) { - child.call(); - } - } - }; - - InterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.source = source; - - var parts = this.parts; - for (var i = 1, ii = parts.length; i < ii; i += 2) { - var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); - binding.bind(source); - this['childBinding' + i] = binding; - } - - this.isBound = true; - this.interpolate(); - }; - - InterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - var parts = this.parts; - for (var i = 1, ii = parts.length; i < ii; i += 2) { - var name = 'childBinding' + i; - this[name].unbind(); - } - }; - - return InterpolationBinding; - }()); - - _export('InterpolationBinding', InterpolationBinding); - - _export('ChildInterpolationBinding', ChildInterpolationBinding = (_dec = connectable(), _dec(_class2 = function () { - function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { - - - if (target instanceof InterpolationBinding) { - this.parent = target; - } else { - validateTarget(target, targetProperty); - this.target = target; - this.targetProperty = targetProperty; - this.targetAccessor = observerLocator.getAccessor(target, targetProperty); - } - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.mode = mode; - this.lookupFunctions = lookupFunctions; - this.left = left; - this.right = right; - } - - ChildInterpolationBinding.prototype.updateTarget = function updateTarget(value) { - value = value === null || value === undefined ? '' : value.toString(); - if (value !== this.value) { - this.value = value; - if (this.parent) { - this.parent.interpolate(); - } else { - this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); +System.register(['aurelia-templating', 'aurelia-binding', 'aurelia-logging'], (function (exports) { + 'use strict'; + var BehaviorInstruction, BindingLanguage, camelCase, SVGAnalyzer, bindingMode, enqueueBindingConnect, connectable, sourceContext, BindingExpression, ListenerExpression, delegationStrategy, CallExpression, Parser, ObserverLocator, EventManager, NameExpression, LiteralString, LogManager; + return { + setters: [function (module) { + BehaviorInstruction = module.BehaviorInstruction; + BindingLanguage = module.BindingLanguage; + }, function (module) { + camelCase = module.camelCase; + SVGAnalyzer = module.SVGAnalyzer; + bindingMode = module.bindingMode; + enqueueBindingConnect = module.enqueueBindingConnect; + connectable = module.connectable; + sourceContext = module.sourceContext; + BindingExpression = module.BindingExpression; + ListenerExpression = module.ListenerExpression; + delegationStrategy = module.delegationStrategy; + CallExpression = module.CallExpression; + Parser = module.Parser; + ObserverLocator = module.ObserverLocator; + EventManager = module.EventManager; + NameExpression = module.NameExpression; + LiteralString = module.LiteralString; + }, function (module) { + LogManager = module; + }], + execute: (function () { + + exports('configure', configure); + + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + /* global Reflect, Promise */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } - } - }; - - ChildInterpolationBinding.prototype.call = function call() { - if (!this.isBound) { - return; - } - - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - if (this.mode !== bindingMode.oneTime) { - this._version++; - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); + function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; } - this.unobserve(false); - } - }; - - ChildInterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - this.isBound = true; - this.source = source; - - var sourceExpression = this.sourceExpression; - if (sourceExpression.bind) { - sourceExpression.bind(this, source, this.lookupFunctions); - } - - this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); - this.updateTarget(this.rawValue); - - if (this.mode === bindingMode.oneWay) { - enqueueBindingConnect(this); - } - }; - - ChildInterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - var sourceExpression = this.sourceExpression; - if (sourceExpression.unbind) { - sourceExpression.unbind(this, this.source); - } - this.source = null; - this.value = null; - this.rawValue = null; - this.unobserve(true); - }; - - ChildInterpolationBinding.prototype.connect = function connect(evaluate) { - if (!this.isBound) { - return; - } - if (evaluate) { - this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.updateTarget(this.rawValue); - } - this.sourceExpression.connect(this, this.source); - if (this.rawValue instanceof Array) { - this.observeArray(this.rawValue); - } - }; - - return ChildInterpolationBinding; - }()) || _class2)); - - _export('ChildInterpolationBinding', ChildInterpolationBinding); - - _export('LetExpression', LetExpression = function () { - function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - LetExpression.prototype.createBinding = function createBinding() { - return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); - }; - - return LetExpression; - }()); - - _export('LetExpression', LetExpression); - - _export('LetBinding', LetBinding = (_dec2 = connectable(), _dec2(_class3 = function () { - function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.sourceExpression = sourceExpression; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.source = null; - this.target = null; - this.toBindingContext = toBindingContext; - } - - LetBinding.prototype.updateTarget = function updateTarget() { - var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); - this.target[this.targetProperty] = value; - }; - - LetBinding.prototype.call = function call(context) { - if (!this.isBound) { - return; - } - if (context === sourceContext) { - this.updateTarget(); - return; - } - throw new Error('Unexpected call context ' + context); - }; - - LetBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - if (this.sourceExpression.bind) { - this.sourceExpression.bind(this, source, this.lookupFunctions); - } - - enqueueBindingConnect(this); - }; - - LetBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - if (this.sourceExpression.unbind) { - this.sourceExpression.unbind(this, this.source); - } - this.source = null; - this.target = null; - this.unobserve(true); - }; - - LetBinding.prototype.connect = function connect() { - if (!this.isBound) { - return; - } - this.updateTarget(); - this.sourceExpression.connect(this, this.source); - }; - - return LetBinding; - }()) || _class3)); - - _export('LetBinding', LetBinding); - - _export('LetInterpolationBindingExpression', LetInterpolationBindingExpression = function () { - function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.targetProperty = targetProperty; - this.parts = parts; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - } - - LetInterpolationBindingExpression.prototype.createBinding = function createBinding() { - return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); - }; - - return LetInterpolationBindingExpression; - }()); - - _export('LetInterpolationBindingExpression', LetInterpolationBindingExpression); - - _export('LetInterpolationBinding', LetInterpolationBinding = function () { - function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { - - - this.observerLocator = observerLocator; - this.parts = parts; - this.targetProperty = targetProperty; - this.lookupFunctions = lookupFunctions; - this.toBindingContext = toBindingContext; - this.target = null; - } - - LetInterpolationBinding.prototype.bind = function bind(source) { - if (this.isBound) { - if (this.source === source) { - return; - } - this.unbind(); - } - - this.isBound = true; - this.source = source; - this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; - - this.interpolationBinding = this.createInterpolationBinding(); - this.interpolationBinding.bind(source); - }; - - LetInterpolationBinding.prototype.unbind = function unbind() { - if (!this.isBound) { - return; - } - this.isBound = false; - this.source = null; - this.target = null; - this.interpolationBinding.unbind(); - this.interpolationBinding = null; - }; - - LetInterpolationBinding.prototype.createInterpolationBinding = function createInterpolationBinding() { - if (this.parts.length === 3) { - return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], bindingMode.oneWay, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); - } - return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, bindingMode.oneWay, this.lookupFunctions); - }; - - return LetInterpolationBinding; - }()); - - _export('LetInterpolationBinding', LetInterpolationBinding); - - _export('SyntaxInterpreter', SyntaxInterpreter = (_temp2 = _class4 = function () { - function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) { - - - this.parser = parser; - this.observerLocator = observerLocator; - this.eventManager = eventManager; - this.attributeMap = attributeMap; - } - - SyntaxInterpreter.prototype.interpret = function interpret(resources, element, info, existingInstruction, context) { - if (info.command in this) { - return this[info.command](resources, element, info, existingInstruction, context); - } - - return this.handleUnknownCommand(resources, element, info, existingInstruction, context); - }; - - SyntaxInterpreter.prototype.handleUnknownCommand = function handleUnknownCommand(resources, element, info, existingInstruction, context) { - LogManager.getLogger('templating-binding').warn('Unknown binding command.', info); - return existingInstruction; - }; - SyntaxInterpreter.prototype.determineDefaultBindingMode = function determineDefaultBindingMode(element, attrName, context) { - var tagName = element.tagName.toLowerCase(); - - if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' || attrName === 'scrolltop' || attrName === 'scrollleft') { - return bindingMode.twoWay; - } - - if (context && attrName in context.attributes && context.attributes[attrName] && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) { - return context.attributes[attrName].defaultBindingMode; - } - - return bindingMode.oneWay; - }; - - SyntaxInterpreter.prototype.bind = function bind(resources, element, info, existingInstruction, context) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null ? this.determineDefaultBindingMode(element, info.attrName, context) : info.defaultBindingMode, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype.trigger = function trigger(resources, element, info) { - return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.none, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.capture = function capture(resources, element, info) { - return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.capturing, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.delegate = function delegate(resources, element, info) { - return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.bubbling, true, resources.lookupFunctions); - }; - - SyntaxInterpreter.prototype.call = function call(resources, element, info, existingInstruction) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype.options = function options(resources, element, info, existingInstruction, context) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - var attrValue = info.attrValue; - var language = this.language; - var name = null; - var target = ''; - var current = void 0; - var i = void 0; - var ii = void 0; - var inString = false; - var inEscape = false; - var foundName = false; - - for (i = 0, ii = attrValue.length; i < ii; ++i) { - current = attrValue[i]; - - if (current === ';' && !inString) { - if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); - } - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; - } - - target = ''; - name = null; - } else if (current === ':' && name === null) { - foundName = true; - name = target.trim(); - target = ''; - } else if (current === '\\') { - target += current; - inEscape = true; - continue; - } else { - target += current; - - if (name !== null && inEscape === false && current === '\'') { - inString = !inString; - } - } - - inEscape = false; - } - - if (!foundName) { - name = this._getPrimaryPropertyName(resources, context); - } - - if (name !== null) { - info = language.inspectAttribute(resources, '?', name, target.trim()); - language.createAttributeInstruction(resources, element, info, instruction, context); - - if (!instruction.attributes[info.attrName]) { - instruction.attributes[info.attrName] = info.attrValue; - } - } - - return instruction; - }; - - SyntaxInterpreter.prototype._getPrimaryPropertyName = function _getPrimaryPropertyName(resources, context) { - var type = resources.getAttribute(context.attributeName); - if (type && type.primaryProperty) { - return type.primaryProperty.attribute; - } - return null; - }; - - SyntaxInterpreter.prototype['for'] = function _for(resources, element, info, existingInstruction) { - var parts = void 0; - var keyValue = void 0; - var instruction = void 0; - var attrValue = void 0; - var isDestructuring = void 0; - - attrValue = info.attrValue; - isDestructuring = attrValue.match(/^ *[[].+[\]]/); - parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); - - if (parts.length !== 2) { - throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); - } - - instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - if (isDestructuring) { - keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); - instruction.attributes.key = keyValue[0]; - instruction.attributes.value = keyValue[1]; - } else { - instruction.attributes.local = parts[0]; - } - - instruction.attributes.items = new BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), bindingMode.oneWay, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['two-way'] = function twoWay(resources, element, info, existingInstruction) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.twoWay, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['to-view'] = function toView(resources, element, info, existingInstruction) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.toView, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['from-view'] = function fromView(resources, element, info, existingInstruction) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.fromView, resources.lookupFunctions); - - return instruction; - }; - - SyntaxInterpreter.prototype['one-time'] = function oneTime(resources, element, info, existingInstruction) { - var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); - - instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.oneTime, resources.lookupFunctions); - - return instruction; - }; - - return SyntaxInterpreter; - }(), _class4.inject = [Parser, ObserverLocator, EventManager, AttributeMap], _temp2)); - - _export('SyntaxInterpreter', SyntaxInterpreter); - - SyntaxInterpreter.prototype['one-way'] = SyntaxInterpreter.prototype['to-view']; - - info = {}; - - _export('TemplatingBindingLanguage', TemplatingBindingLanguage = (_temp3 = _class5 = function (_BindingLanguage) { - _inherits(TemplatingBindingLanguage, _BindingLanguage); - - function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) { - - - var _this = _possibleConstructorReturn(this, _BindingLanguage.call(this)); - - _this.parser = parser; - _this.observerLocator = observerLocator; - _this.syntaxInterpreter = syntaxInterpreter; - _this.emptyStringExpression = _this.parser.parse('\'\''); - syntaxInterpreter.language = _this; - _this.attributeMap = attributeMap; - _this.toBindingContextAttr = 'to-binding-context'; - return _this; - } - - TemplatingBindingLanguage.prototype.inspectAttribute = function inspectAttribute(resources, elementName, attrName, attrValue) { - var parts = attrName.split('.'); - - info.defaultBindingMode = null; - - if (parts.length === 2) { - info.attrName = parts[0].trim(); - info.attrValue = attrValue; - info.command = parts[1].trim(); - - if (info.command === 'ref') { - info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); - info.command = null; - info.attrName = 'ref'; - } else { - info.expression = null; - } - } else if (attrName === 'ref') { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); - } else { - info.attrName = attrName; - info.attrValue = attrValue; - info.command = null; - var interpolationParts = this.parseInterpolation(resources, attrValue); - if (interpolationParts === null) { - info.expression = null; - } else { - info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, bindingMode.oneWay, resources.lookupFunctions, attrName); - } - } - - return info; - }; - - TemplatingBindingLanguage.prototype.createAttributeInstruction = function createAttributeInstruction(resources, element, theInfo, existingInstruction, context) { - var instruction = void 0; - - if (theInfo.expression) { - if (theInfo.attrName === 'ref') { - return theInfo.expression; - } - - instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName); - instruction.attributes[theInfo.attrName] = theInfo.expression; - } else if (theInfo.command) { - instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); - } - - return instruction; - }; - - TemplatingBindingLanguage.prototype.createLetExpressions = function createLetExpressions(resources, letElement) { - var expressions = []; - var attributes = letElement.attributes; - - var attr = void 0; - - var parts = void 0; - var attrName = void 0; - var attrValue = void 0; - var command = void 0; - var toBindingContextAttr = this.toBindingContextAttr; - var toBindingContext = letElement.hasAttribute(toBindingContextAttr); - for (var i = 0, ii = attributes.length; ii > i; ++i) { - attr = attributes[i]; - attrName = attr.name; - attrValue = attr.nodeValue; - parts = attrName.split('.'); - - if (attrName === toBindingContextAttr) { - continue; - } - - if (parts.length === 2) { - command = parts[1]; - if (command !== 'bind') { - LogManager.getLogger('templating-binding-language').warn('Detected invalid let command. Expected "' + parts[0] + '.bind", given "' + attrName + '"'); - continue; - } - expressions.push(new LetExpression(this.observerLocator, camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); - } else { - attrName = camelCase(attrName); - parts = this.parseInterpolation(resources, attrValue); - if (parts === null) { - LogManager.getLogger('templating-binding-language').warn('Detected string literal in let bindings. Did you mean "' + attrName + '.bind=' + attrValue + '" or "' + attrName + '=${' + attrValue + '}" ?'); - } - if (parts) { - expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); - } else { - expressions.push(new LetExpression(this.observerLocator, attrName, new LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); - } + var AttributeMap = exports('AttributeMap', (function () { + function AttributeMap(svg) { + this.elements = Object.create(null); + this.allElements = Object.create(null); + this.svg = svg; + this.registerUniversal('accesskey', 'accessKey'); + this.registerUniversal('contenteditable', 'contentEditable'); + this.registerUniversal('tabindex', 'tabIndex'); + this.registerUniversal('textcontent', 'textContent'); + this.registerUniversal('innerhtml', 'innerHTML'); + this.registerUniversal('scrolltop', 'scrollTop'); + this.registerUniversal('scrollleft', 'scrollLeft'); + this.registerUniversal('readonly', 'readOnly'); + this.register('label', 'for', 'htmlFor'); + this.register('img', 'usemap', 'useMap'); + this.register('input', 'maxlength', 'maxLength'); + this.register('input', 'minlength', 'minLength'); + this.register('input', 'formaction', 'formAction'); + this.register('input', 'formenctype', 'formEncType'); + this.register('input', 'formmethod', 'formMethod'); + this.register('input', 'formnovalidate', 'formNoValidate'); + this.register('input', 'formtarget', 'formTarget'); + this.register('textarea', 'maxlength', 'maxLength'); + this.register('td', 'rowspan', 'rowSpan'); + this.register('td', 'colspan', 'colSpan'); + this.register('th', 'rowspan', 'rowSpan'); + this.register('th', 'colspan', 'colSpan'); + } + AttributeMap.prototype.register = function (elementName, attributeName, propertyName) { + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + var element = this.elements[elementName] = (this.elements[elementName] || Object.create(null)); + element[attributeName] = propertyName; + }; + AttributeMap.prototype.registerUniversal = function (attributeName, propertyName) { + attributeName = attributeName.toLowerCase(); + this.allElements[attributeName] = propertyName; + }; + AttributeMap.prototype.map = function (elementName, attributeName) { + if (this.svg.isStandardSvgAttribute(elementName, attributeName)) { + return attributeName; + } + elementName = elementName.toLowerCase(); + attributeName = attributeName.toLowerCase(); + var element = this.elements[elementName]; + if (element !== undefined && attributeName in element) { + return element[attributeName]; + } + if (attributeName in this.allElements) { + return this.allElements[attributeName]; + } + if (/(?:^data-)|(?:^aria-)|:/.test(attributeName)) { + return attributeName; + } + return camelCase(attributeName); + }; + AttributeMap.inject = [SVGAnalyzer]; + return AttributeMap; + }())); + + var InterpolationBindingExpression = exports('InterpolationBindingExpression', (function () { + function InterpolationBindingExpression(observerLocator, targetProperty, parts, mode, lookupFunctions, attribute) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.attribute = this.attrToRemove = attribute; + this.discrete = false; + } + InterpolationBindingExpression.prototype.createBinding = function (target) { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(target, this.observerLocator, this.parts[1], this.mode, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, target, this.targetProperty, this.mode, this.lookupFunctions); + }; + return InterpolationBindingExpression; + }())); + function validateTarget(target, propertyName) { + if (propertyName === 'style') { + LogManager.getLogger('templating-binding') + .info('Internet Explorer does not support interpolation in "style" attributes. Use the style attribute\'s alias, "css" instead.'); + } + else if (target.parentElement && target.parentElement.nodeName === 'TEXTAREA' && propertyName === 'textContent') { + throw new Error('Interpolation binding cannot be used in the content of a textarea element. Use instead.'); + } } - } - return expressions; - }; - - TemplatingBindingLanguage.prototype.inspectTextContent = function inspectTextContent(resources, value) { - var parts = this.parseInterpolation(resources, value); - if (parts === null) { - return null; - } - return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, bindingMode.oneWay, resources.lookupFunctions, 'textContent'); - }; - - TemplatingBindingLanguage.prototype.parseInterpolation = function parseInterpolation(resources, value) { - var i = value.indexOf('${', 0); - var ii = value.length; - var char = void 0; - var pos = 0; - var open = 0; - var quote = null; - var interpolationStart = void 0; - var parts = void 0; - var partIndex = 0; - - while (i >= 0 && i < ii - 2) { - open = 1; - interpolationStart = i; - i += 2; - - do { - char = value[i]; - i++; - - if (char === "'" || char === '"') { - if (quote === null) { - quote = char; - } else if (quote === char) { - quote = null; + var InterpolationBinding = exports('InterpolationBinding', (function () { + function InterpolationBinding(observerLocator, parts, target, targetProperty, mode, lookupFunctions) { + validateTarget(target, targetProperty); + this.observerLocator = observerLocator; + this.parts = parts; + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + this.mode = mode; + this.lookupFunctions = lookupFunctions; } - continue; - } - - if (char === '\\') { - i++; - continue; - } - - if (quote !== null) { - continue; - } - - if (char === '{') { - open++; - } else if (char === '}') { - open--; - } - } while (open > 0 && i < ii); - - if (open === 0) { - parts = parts || []; - if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { - parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); - partIndex++; - parts[partIndex] = this.emptyStringExpression; - partIndex++; - } else { - parts[partIndex] = value.substring(pos, interpolationStart); - partIndex++; - parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); - partIndex++; - } - pos = i; - i = value.indexOf('${', i); - } else { - break; + InterpolationBinding.prototype.interpolate = function () { + if (this.isBound) { + var value = ''; + var parts = this.parts; + for (var i = 0, ii = parts.length; i < ii; i++) { + value += (i % 2 === 0 ? parts[i] : this["childBinding".concat(i)].value); + } + this.targetAccessor.setValue(value, this.target, this.targetProperty); + } + }; + InterpolationBinding.prototype.updateOneTimeBindings = function () { + for (var i = 1, ii = this.parts.length; i < ii; i += 2) { + var child = this["childBinding".concat(i)]; + if (child.mode === bindingMode.oneTime) { + child.call(); + } + } + }; + InterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.source = source; + var parts = this.parts; + for (var i = 1, ii = parts.length; i < ii; i += 2) { + var binding = new ChildInterpolationBinding(this, this.observerLocator, parts[i], this.mode, this.lookupFunctions); + binding.bind(source); + this["childBinding".concat(i)] = binding; + } + this.isBound = true; + this.interpolate(); + }; + InterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + var parts = this.parts; + for (var i = 1, ii = parts.length; i < ii; i += 2) { + var name_1 = "childBinding".concat(i); + this[name_1].unbind(); + } + }; + return InterpolationBinding; + }())); + var ChildInterpolationBinding = exports('ChildInterpolationBinding', (function () { + function ChildInterpolationBinding(target, observerLocator, sourceExpression, mode, lookupFunctions, targetProperty, left, right) { + if (target instanceof InterpolationBinding) { + this.parent = target; + } + else { + validateTarget(target, targetProperty); + this.target = target; + this.targetProperty = targetProperty; + this.targetAccessor = observerLocator.getAccessor(target, targetProperty); + } + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.mode = mode; + this.lookupFunctions = lookupFunctions; + this.left = left; + this.right = right; + } + ChildInterpolationBinding.prototype.updateTarget = function (value) { + value = value === null || value === undefined ? '' : value.toString(); + if (value !== this.value) { + this.value = value; + if (this.parent) { + this.parent.interpolate(); + } + else { + this.targetAccessor.setValue(this.left + value + this.right, this.target, this.targetProperty); + } + } + }; + ChildInterpolationBinding.prototype.call = function () { + if (!this.isBound) { + return; + } + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode !== bindingMode.oneTime) { + this._version++; + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + this.unobserve(false); + } + }; + ChildInterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + var sourceExpression = this.sourceExpression; + if (sourceExpression.bind) { + sourceExpression.bind(this, source, this.lookupFunctions); + } + this.rawValue = sourceExpression.evaluate(source, this.lookupFunctions); + this.updateTarget(this.rawValue); + if (this.mode === bindingMode.oneWay) { + enqueueBindingConnect(this); + } + }; + ChildInterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + var sourceExpression = this.sourceExpression; + if (sourceExpression.unbind) { + sourceExpression.unbind(this, this.source); + } + this.source = null; + this.value = null; + this.rawValue = null; + this.unobserve(true); + }; + ChildInterpolationBinding.prototype.connect = function (evaluate) { + if (!this.isBound) { + return; + } + if (evaluate) { + this.rawValue = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.updateTarget(this.rawValue); + } + this.sourceExpression.connect(this, this.source); + if (this.rawValue instanceof Array) { + this.observeArray(this.rawValue); + } + }; + ChildInterpolationBinding = __decorate([ + connectable() + ], ChildInterpolationBinding); + return ChildInterpolationBinding; + }())); + + var LetExpression = exports('LetExpression', (function () { + function LetExpression(observerLocator, targetProperty, sourceExpression, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + } + LetExpression.prototype.createBinding = function () { + return new LetBinding(this.observerLocator, this.sourceExpression, this.targetProperty, this.lookupFunctions, this.toBindingContext); + }; + return LetExpression; + }())); + var LetBinding = exports('LetBinding', (function () { + function LetBinding(observerLocator, sourceExpression, targetProperty, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.sourceExpression = sourceExpression; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.source = null; + this.target = null; + this.toBindingContext = toBindingContext; + } + LetBinding.prototype.updateTarget = function () { + var value = this.sourceExpression.evaluate(this.source, this.lookupFunctions); + this.target[this.targetProperty] = value; + }; + LetBinding.prototype.call = function (context) { + if (!this.isBound) { + return; + } + if (context === sourceContext) { + this.updateTarget(); + return; + } + throw new Error("Unexpected call context ".concat(context)); + }; + LetBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + if (this.sourceExpression.bind) { + this.sourceExpression.bind(this, source, this.lookupFunctions); + } + enqueueBindingConnect(this); + }; + LetBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + if (this.sourceExpression.unbind) { + this.sourceExpression.unbind(this, this.source); + } + this.source = null; + this.target = null; + this.unobserve(true); + }; + LetBinding.prototype.unobserve = function (arg0) { + throw new Error('Method not implemented.'); + }; + LetBinding.prototype.connect = function () { + if (!this.isBound) { + return; + } + this.updateTarget(); + this.sourceExpression.connect(this, this.source); + }; + LetBinding = __decorate([ + connectable() + ], LetBinding); + return LetBinding; + }())); + + var LetInterpolationBindingExpression = exports('LetInterpolationBindingExpression', (function () { + function LetInterpolationBindingExpression(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.targetProperty = targetProperty; + this.parts = parts; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + } + LetInterpolationBindingExpression.prototype.createBinding = function () { + return new LetInterpolationBinding(this.observerLocator, this.targetProperty, this.parts, this.lookupFunctions, this.toBindingContext); + }; + return LetInterpolationBindingExpression; + }())); + var LetInterpolationBinding = exports('LetInterpolationBinding', (function () { + function LetInterpolationBinding(observerLocator, targetProperty, parts, lookupFunctions, toBindingContext) { + this.observerLocator = observerLocator; + this.parts = parts; + this.targetProperty = targetProperty; + this.lookupFunctions = lookupFunctions; + this.toBindingContext = toBindingContext; + this.target = null; + } + LetInterpolationBinding.prototype.bind = function (source) { + if (this.isBound) { + if (this.source === source) { + return; + } + this.unbind(); + } + this.isBound = true; + this.source = source; + this.target = this.toBindingContext ? source.bindingContext : source.overrideContext; + this.interpolationBinding = this.createInterpolationBinding(); + this.interpolationBinding.bind(source); + }; + LetInterpolationBinding.prototype.unbind = function () { + if (!this.isBound) { + return; + } + this.isBound = false; + this.source = null; + this.target = null; + this.interpolationBinding.unbind(); + this.interpolationBinding = null; + }; + LetInterpolationBinding.prototype.createInterpolationBinding = function () { + if (this.parts.length === 3) { + return new ChildInterpolationBinding(this.target, this.observerLocator, this.parts[1], bindingMode.toView, this.lookupFunctions, this.targetProperty, this.parts[0], this.parts[2]); + } + return new InterpolationBinding(this.observerLocator, this.parts, this.target, this.targetProperty, bindingMode.toView, this.lookupFunctions); + }; + return LetInterpolationBinding; + }())); + + var SyntaxInterpreter = exports('SyntaxInterpreter', (function () { + function SyntaxInterpreter(parser, observerLocator, eventManager, attributeMap) { + this.parser = parser; + this.observerLocator = observerLocator; + this.eventManager = eventManager; + this.attributeMap = attributeMap; + } + SyntaxInterpreter.prototype.interpret = function (resources, element, info, existingInstruction, context) { + if (info.command in this) { + return this[info.command](resources, element, info, existingInstruction, context); + } + return this.handleUnknownCommand(resources, element, info, existingInstruction, context); + }; + SyntaxInterpreter.prototype.handleUnknownCommand = function (resources, element, info, existingInstruction, context) { + LogManager.getLogger('templating-binding').warn('Unknown binding command.', info); + return existingInstruction; + }; + SyntaxInterpreter.prototype.determineDefaultBindingMode = function (element, attrName, context) { + var tagName = element.tagName.toLowerCase(); + if (tagName === 'input' && (attrName === 'value' || attrName === 'files') && element.type !== 'checkbox' && element.type !== 'radio' + || tagName === 'input' && attrName === 'checked' && (element.type === 'checkbox' || element.type === 'radio') + || (tagName === 'textarea' || tagName === 'select') && attrName === 'value' + || (attrName === 'textcontent' || attrName === 'innerhtml') && element.contentEditable === 'true' + || attrName === 'scrolltop' + || attrName === 'scrollleft') { + return bindingMode.twoWay; + } + if (context + && attrName in context.attributes + && context.attributes[attrName] + && context.attributes[attrName].defaultBindingMode >= bindingMode.oneTime) { + return context.attributes[attrName].defaultBindingMode; + } + return bindingMode.toView; + }; + SyntaxInterpreter.prototype.bind = function (resources, element, info, existingInstruction, context) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), info.defaultBindingMode === undefined || info.defaultBindingMode === null + ? this.determineDefaultBindingMode(element, info.attrName, context) + : info.defaultBindingMode, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype.trigger = function (resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.none, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.capture = function (resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.capturing, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.delegate = function (resources, element, info) { + return new ListenerExpression(this.eventManager, info.attrName, this.parser.parse(info.attrValue), delegationStrategy.bubbling, true, resources.lookupFunctions); + }; + SyntaxInterpreter.prototype.call = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new CallExpression(this.observerLocator, info.attrName, this.parser.parse(info.attrValue), resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype.options = function (resources, element, info, existingInstruction, context) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + var attrValue = info.attrValue; + var language = this.language; + var name = null; + var target = ''; + var current; + var i; + var ii; + var inString = false; + var inEscape = false; + var foundName = false; + for (i = 0, ii = attrValue.length; i < ii; ++i) { + current = attrValue[i]; + if (current === ';' && !inString) { + if (!foundName) { + name = this._getPrimaryPropertyName(resources, context); + } + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } + target = ''; + name = null; + } + else if (current === ':' && name === null) { + foundName = true; + name = target.trim(); + target = ''; + } + else if (current === '\\') { + target += current; + inEscape = true; + continue; + } + else { + target += current; + if (name !== null && inEscape === false && current === '\'') { + inString = !inString; + } + } + inEscape = false; + } + if (!foundName) { + name = this._getPrimaryPropertyName(resources, context); + } + if (name !== null) { + info = language.inspectAttribute(resources, '?', name, target.trim()); + language.createAttributeInstruction(resources, element, info, instruction, context); + if (!instruction.attributes[info.attrName]) { + instruction.attributes[info.attrName] = info.attrValue; + } + } + return instruction; + }; + SyntaxInterpreter.prototype._getPrimaryPropertyName = function (resources, context) { + var type = resources.getAttribute(context.attributeName); + if (type && type.primaryProperty) { + return type.primaryProperty.attribute; + } + return null; + }; + SyntaxInterpreter.prototype['for'] = function (resources, element, info, existingInstruction) { + var parts; + var keyValue; + var instruction; + var attrValue; + var isDestructuring; + attrValue = info.attrValue; + isDestructuring = attrValue.match(/^ *[[].+[\]]/); + parts = isDestructuring ? attrValue.split('of ') : attrValue.split(' of '); + if (parts.length !== 2) { + throw new Error('Incorrect syntax for "for". The form is: "$local of $items" or "[$key, $value] of $items".'); + } + instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + if (isDestructuring) { + keyValue = parts[0].replace(/[[\]]/g, '').replace(/,/g, ' ').replace(/\s+/g, ' ').trim().split(' '); + instruction.attributes.key = keyValue[0]; + instruction.attributes.value = keyValue[1]; + } + else { + instruction.attributes.local = parts[0]; + } + instruction.attributes.items = new BindingExpression(this.observerLocator, 'items', this.parser.parse(parts[1]), bindingMode.toView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['two-way'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.twoWay, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['to-view'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.toView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['from-view'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.fromView, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.prototype['one-time'] = function (resources, element, info, existingInstruction) { + var instruction = existingInstruction || BehaviorInstruction.attribute(info.attrName); + instruction.attributes[info.attrName] = new BindingExpression(this.observerLocator, this.attributeMap.map(element.tagName, info.attrName), this.parser.parse(info.attrValue), bindingMode.oneTime, resources.lookupFunctions); + return instruction; + }; + SyntaxInterpreter.inject = [Parser, ObserverLocator, EventManager, AttributeMap]; + return SyntaxInterpreter; + }())); + Object.defineProperty(SyntaxInterpreter.prototype, 'one-way', Object.getOwnPropertyDescriptor(SyntaxInterpreter.prototype, 'to-view')); + + var info = {}; + var TemplatingBindingLanguage = exports('TemplatingBindingLanguage', (function (_super) { + __extends(TemplatingBindingLanguage, _super); + function TemplatingBindingLanguage(parser, observerLocator, syntaxInterpreter, attributeMap) { + var _this = _super.call(this) || this; + _this.parser = parser; + _this.observerLocator = observerLocator; + _this.syntaxInterpreter = syntaxInterpreter; + _this.emptyStringExpression = _this.parser.parse('\'\''); + syntaxInterpreter.language = _this; + _this.attributeMap = attributeMap; + _this.toBindingContextAttr = 'to-binding-context'; + return _this; + } + TemplatingBindingLanguage.prototype.inspectAttribute = function (resources, elementName, attrName, attrValue) { + var parts = attrName.split('.'); + info.defaultBindingMode = null; + if (parts.length === 2) { + info.attrName = parts[0].trim(); + info.attrValue = attrValue; + info.command = parts[1].trim(); + if (info.command === 'ref') { + info.expression = new NameExpression(this.parser.parse(attrValue), info.attrName, resources.lookupFunctions); + info.command = null; + info.attrName = 'ref'; + } + else { + info.expression = null; + } + } + else if (attrName === 'ref') { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + info.expression = new NameExpression(this.parser.parse(attrValue), 'element', resources.lookupFunctions); + } + else { + info.attrName = attrName; + info.attrValue = attrValue; + info.command = null; + var interpolationParts = this.parseInterpolation(resources, attrValue); + if (interpolationParts === null) { + info.expression = null; + } + else { + info.expression = new InterpolationBindingExpression(this.observerLocator, this.attributeMap.map(elementName, attrName), interpolationParts, bindingMode.toView, resources.lookupFunctions, attrName); + } + } + return info; + }; + TemplatingBindingLanguage.prototype.createAttributeInstruction = function (resources, element, theInfo, existingInstruction, context) { + var instruction; + if (theInfo.expression) { + if (theInfo.attrName === 'ref') { + return theInfo.expression; + } + instruction = existingInstruction || BehaviorInstruction.attribute(theInfo.attrName); + instruction.attributes[theInfo.attrName] = theInfo.expression; + } + else if (theInfo.command) { + instruction = this.syntaxInterpreter.interpret(resources, element, theInfo, existingInstruction, context); + } + return instruction; + }; + TemplatingBindingLanguage.prototype.createLetExpressions = function (resources, letElement) { + var expressions = []; + var attributes = letElement.attributes; + var attr; + var parts; + var attrName; + var attrValue; + var command; + var toBindingContextAttr = this.toBindingContextAttr; + var toBindingContext = letElement.hasAttribute(toBindingContextAttr); + for (var i = 0, ii = attributes.length; ii > i; ++i) { + attr = attributes[i]; + attrName = attr.name; + attrValue = attr.nodeValue; + parts = attrName.split('.'); + if (attrName === toBindingContextAttr) { + continue; + } + if (parts.length === 2) { + command = parts[1]; + if (command !== 'bind') { + LogManager.getLogger('templating-binding-language') + .warn("Detected invalid let command. Expected \"".concat(parts[0], ".bind\", given \"").concat(attrName, "\"")); + continue; + } + expressions.push(new LetExpression(this.observerLocator, camelCase(parts[0]), this.parser.parse(attrValue), resources.lookupFunctions, toBindingContext)); + } + else { + attrName = camelCase(attrName); + parts = this.parseInterpolation(resources, attrValue); + if (parts === null) { + LogManager.getLogger('templating-binding-language') + .warn("Detected string literal in let bindings. Did you mean \"".concat(attrName, ".bind=").concat(attrValue, "\" or \"").concat(attrName, "=${").concat(attrValue, "}\" ?")); + } + if (parts) { + expressions.push(new LetInterpolationBindingExpression(this.observerLocator, attrName, parts, resources.lookupFunctions, toBindingContext)); + } + else { + expressions.push(new LetExpression(this.observerLocator, attrName, new LiteralString(attrValue), resources.lookupFunctions, toBindingContext)); + } + } + } + return expressions; + }; + TemplatingBindingLanguage.prototype.inspectTextContent = function (resources, value) { + var parts = this.parseInterpolation(resources, value); + if (parts === null) { + return null; + } + return new InterpolationBindingExpression(this.observerLocator, 'textContent', parts, bindingMode.toView, resources.lookupFunctions, 'textContent'); + }; + TemplatingBindingLanguage.prototype.parseInterpolation = function (resources, value) { + var i = value.indexOf('${', 0); + var ii = value.length; + var char; + var pos = 0; + var open = 0; + var quote = null; + var interpolationStart; + var parts; + var partIndex = 0; + while (i >= 0 && i < ii - 2) { + open = 1; + interpolationStart = i; + i += 2; + do { + char = value[i]; + i++; + if (char === "'" || char === '"') { + if (quote === null) { + quote = char; + } + else if (quote === char) { + quote = null; + } + continue; + } + if (char === '\\') { + i++; + continue; + } + if (quote !== null) { + continue; + } + if (char === '{') { + open++; + } + else if (char === '}') { + open--; + } + } while (open > 0 && i < ii); + if (open === 0) { + parts = parts || []; + if (value[interpolationStart - 1] === '\\' && value[interpolationStart - 2] !== '\\') { + parts[partIndex] = value.substring(pos, interpolationStart - 1) + value.substring(interpolationStart, i); + partIndex++; + parts[partIndex] = this.emptyStringExpression; + partIndex++; + } + else { + parts[partIndex] = value.substring(pos, interpolationStart); + partIndex++; + parts[partIndex] = this.parser.parse(value.substring(interpolationStart + 2, i - 1)); + partIndex++; + } + pos = i; + i = value.indexOf('${', i); + } + else { + break; + } + } + if (partIndex === 0) { + return null; + } + parts[partIndex] = value.substr(pos); + return parts; + }; + TemplatingBindingLanguage.inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap]; + return TemplatingBindingLanguage; + }(BindingLanguage))); + + function configure(config) { + config.container.registerSingleton(BindingLanguage, TemplatingBindingLanguage); + config.container.registerAlias(BindingLanguage, TemplatingBindingLanguage); } - } - - if (partIndex === 0) { - return null; - } - - parts[partIndex] = value.substr(pos); - return parts; - }; - - return TemplatingBindingLanguage; - }(BindingLanguage), _class5.inject = [Parser, ObserverLocator, SyntaxInterpreter, AttributeMap], _temp3)); - _export('TemplatingBindingLanguage', TemplatingBindingLanguage); - } - }; -}); \ No newline at end of file + }) + }; +})); +//# sourceMappingURL=aurelia-templating-binding.js.map diff --git a/dist/system/aurelia-templating-binding.js.map b/dist/system/aurelia-templating-binding.js.map new file mode 100644 index 0000000..ce8ec85 --- /dev/null +++ b/dist/system/aurelia-templating-binding.js.map @@ -0,0 +1 @@ +{"version":3,"file":"aurelia-templating-binding.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/attribute-map.ts","../../src/interpolation-binding-expression.ts","../../src/let-expression.ts","../../src/let-interpolation-expression.ts","../../src/syntax-interpreter.ts","../../src/binding-language.ts","../../src/aurelia-templating-binding.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(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\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/aurelia-templating-binding.d.ts b/dist/types/aurelia-templating-binding.d.ts new file mode 100644 index 0000000..970f292 --- /dev/null +++ b/dist/types/aurelia-templating-binding.d.ts @@ -0,0 +1,139 @@ +// Generated by dts-bundle-generator v6.5.0 + +import { BindingExpression, EventManager, Expression, ListenerExpression, LookupFunctions, ObserverLocator, Parser, SVGAnalyzer, bindingMode } from 'aurelia-binding'; +import { BehaviorInstruction, BindingLanguage, HtmlBehaviorResource, ViewResources } from 'aurelia-templating'; + +export declare class AttributeMap { + elements: any; + allElements: any; + constructor(svg: SVGAnalyzer); + /** + * Maps a specific HTML element attribute to a javascript property. + */ + register(elementName: string, attributeName: string, propertyName: string): void; + /** + * Maps an HTML attribute to a javascript property. + */ + registerUniversal(attributeName: string, propertyName: string): void; + /** + * Returns the javascript property name for a particlar HTML attribute. + */ + map(elementName: string, attributeName: string): any; +} +export declare class InterpolationBindingExpression { + constructor(observerLocator: ObserverLocator, targetProperty: string, parts: (string | Expression)[], mode: bindingMode, lookupFunctions: LookupFunctions, attribute: string); + createBinding(target: any): ChildInterpolationBinding | InterpolationBinding; +} +export declare class InterpolationBinding { + constructor(observerLocator: ObserverLocator, parts: (string | Expression)[], target: any, targetProperty: string, mode: bindingMode, lookupFunctions: LookupFunctions); + interpolate(): void; + updateOneTimeBindings(): void; + bind(source: any): void; + unbind(): void; +} +export declare class ChildInterpolationBinding { + constructor(target: InterpolationBinding, observerLocator: ObserverLocator, sourceExpression: Expression, mode: bindingMode, lookupFunctions: LookupFunctions, targetProperty?: string, left?: string, right?: string); + updateTarget(value: any): void; + call(): void; + bind(source: any): void; + unbind(): void; + connect(evaluate: any): void; +} +/** + * An object describing information analyzed from an attribute in an Aurelia templates + */ +export interface AttributeInfo { + command?: string; + expression?: string | BindingExpression; + attrName?: string; + attrValue?: string; + defaultBindingMode?: bindingMode; +} +export declare class SyntaxInterpreter { + language: BindingLanguage; + constructor(parser: Parser, observerLocator: ObserverLocator, eventManager: EventManager, attributeMap: AttributeMap); + interpret(resources: ViewResources, element: Element, info: AttributeInfo, existingInstruction?: BehaviorInstruction, context?: HtmlBehaviorResource): any; + handleUnknownCommand(resources: ViewResources, element: Element, info: AttributeInfo, existingInstruction: BehaviorInstruction, context: HtmlBehaviorResource): BehaviorInstruction; + determineDefaultBindingMode(element: Element, attrName: string, context: HtmlBehaviorResource): bindingMode; + bind(resources: ViewResources, element: Element, info: AttributeInfo, existingInstruction: BehaviorInstruction, context: HtmlBehaviorResource): BehaviorInstruction; + trigger(resources: ViewResources, element: any, info: AttributeInfo): ListenerExpression; + capture(resources: ViewResources, element: any, info: AttributeInfo): ListenerExpression; + delegate(resources: ViewResources, element: any, info: AttributeInfo): ListenerExpression; + call(resources: ViewResources, element: any, info: AttributeInfo, existingInstruction: BehaviorInstruction): BehaviorInstruction; + options(resources: ViewResources, element: Element, info: AttributeInfo, existingInstruction: BehaviorInstruction, context: HtmlBehaviorResource): BehaviorInstruction; + "for"(resources: ViewResources, element: Element, info: AttributeInfo, existingInstruction: BehaviorInstruction): BehaviorInstruction & { + attributes: Record; + }; + "two-way"(resources: ViewResources, element: Element, info: AttributeInfo, existingInstruction: BehaviorInstruction): BehaviorInstruction; + "to-view"(resources: ViewResources, element: Element, info: AttributeInfo, existingInstruction: BehaviorInstruction): BehaviorInstruction; + "from-view"(resources: ViewResources, element: Element, info: AttributeInfo, existingInstruction: BehaviorInstruction): BehaviorInstruction; + "one-time"(resources: ViewResources, element: Element, info: AttributeInfo, existingInstruction: BehaviorInstruction): BehaviorInstruction; +} +export declare class TemplatingBindingLanguage extends BindingLanguage { + constructor(parser: Parser, observerLocator: ObserverLocator, syntaxInterpreter: SyntaxInterpreter, attributeMap: AttributeMap); + inspectAttribute(resources: ViewResources, elementName: string, attrName: string, attrValue: string): AttributeInfo; + createAttributeInstruction(resources: ViewResources, element: Element, theInfo: AttributeInfo, existingInstruction: BehaviorInstruction, context: HtmlBehaviorResource): any; + createLetExpressions(resources: ViewResources, letElement: Element): any[]; + inspectTextContent(resources: ViewResources, value: string): InterpolationBindingExpression; + parseInterpolation(resources: ViewResources, value: string): any; +} +export declare class LetExpression { + /** + * @param observerLocator + * @param targetProperty + * @param sourceExpression + * @param lookupFunctions + * @param toBindingContext indicates let binding result should be assigned to binding context + */ + constructor(observerLocator: ObserverLocator, targetProperty: string, sourceExpression: Expression, lookupFunctions: LookupFunctions, toBindingContext: boolean); + createBinding(): LetBinding; +} +export declare class LetBinding { + /** + * @param observerLocator + * @param sourceExpression + * @param targetProperty + * @param lookupFunctions + * @param toBindingContext indicates let binding result should be assigned to binding context + */ + constructor(observerLocator: ObserverLocator, sourceExpression: Expression, targetProperty: string, lookupFunctions: LookupFunctions, toBindingContext: boolean); + updateTarget(): void; + call(context: any): void; + /** + * @param {Scope} source Binding context + */ + bind(source: any): void; + unbind(): void; + unobserve(arg0: boolean): void; + connect(): void; +} +export declare class LetInterpolationBindingExpression { + /** + * @param {ObserverLocator} observerLocator + * @param {string} targetProperty + * @param {string[]} parts + * @param {LookupFunctions} lookupFunctions + * @param {boolean} toBindingContext indicates let binding result should be assigned to binding context + */ + constructor(observerLocator: ObserverLocator, targetProperty: string, parts: string[], lookupFunctions: LookupFunctions, toBindingContext: boolean); + createBinding(): LetInterpolationBinding; +} +export declare class LetInterpolationBinding { + /** + * @param observerLocator + * @param targetProperty + * @param parts + * @param lookupFunctions + * @param toBindingContext indicates let binding result should be assigned to binding context + */ + constructor(observerLocator: ObserverLocator, targetProperty: string, parts: (string | Expression)[], lookupFunctions: LookupFunctions, toBindingContext: boolean); + /** + * @param {Scope} source + */ + bind(source: any): void; + unbind(): void; + createInterpolationBinding(): ChildInterpolationBinding | InterpolationBinding; +} +export declare function configure(config: any): void; + +export {}; diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 1fc6a5b..b5dee10 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -1,3 +1,21 @@ +# [1.6.0](https://github.com/aurelia/templating-binding/compare/1.5.3...1.6.0) (2022-04-02) + + +### Bug Fixes + +* **dep:** resolve vulnerable dep issue ([#157](https://github.com/aurelia/templating-binding/issues/157)) ([1e27c02](https://github.com/aurelia/templating-binding/commit/1e27c02f3c6082569740e76d3e411420ab5a9ef6)) + + + +# [1.6.0](https://github.com/aurelia/templating-binding/compare/1.5.3...1.6.0) (2022-04-02) + + +### Bug Fixes + +* **dep:** resolve vulnerable dep issue ([#157](https://github.com/aurelia/templating-binding/issues/157)) ([1e27c02](https://github.com/aurelia/templating-binding/commit/1e27c02f3c6082569740e76d3e411420ab5a9ef6)) + + + ## [1.5.4](https://github.com/aurelia/templating-binding/compare/1.5.2...1.5.4) (2019-03-27) diff --git a/doc/api.json b/doc/api.json index 649d9d1..b804b30 100644 --- a/doc/api.json +++ b/doc/api.json @@ -1 +1 @@ -{"name":"aurelia-templating-binding","children":[{"id":2,"name":"AttributeMap","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":6,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":7,"name":"new AttributeMap","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":8,"name":"svg","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"AttributeMap","id":2}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":26,"character":19}]},{"id":5,"name":"allElements","kind":1024,"kindString":"Property","flags":{"isExported":true},"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":26,"character":13}],"type":{"type":"intrinsic","name":"any"}},{"id":4,"name":"elements","kind":1024,"kindString":"Property","flags":{"isExported":true},"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":25,"character":10}],"type":{"type":"intrinsic","name":"any"}},{"id":3,"name":"inject","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExported":true},"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":24,"character":15}],"type":{"type":"intrinsic","name":"any"}},{"id":18,"name":"map","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":19,"name":"map","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Returns the javascript property name for a particlar HTML attribute."},"parameters":[{"id":20,"name":"elementName","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":21,"name":"attributeName","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":42,"character":5}]},{"id":9,"name":"register","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":10,"name":"register","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Maps a specific HTML element attribute to a javascript property."},"parameters":[{"id":11,"name":"elementName","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":12,"name":"attributeName","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":13,"name":"propertyName","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":32,"character":10}]},{"id":14,"name":"registerUniversal","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":15,"name":"registerUniversal","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Maps an HTML attribute to a javascript property."},"parameters":[{"id":16,"name":"attributeName","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":17,"name":"propertyName","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":37,"character":19}]}],"groups":[{"title":"Constructors","kind":512,"children":[6]},{"title":"Properties","kind":1024,"children":[5,4,3]},{"title":"Methods","kind":2048,"children":[18,9,14]}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":23,"character":33}]},{"id":52,"name":"ChildInterpolationBinding","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":53,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":54,"name":"new ChildInterpolationBinding","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":55,"name":"target","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":56,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":57,"name":"sourceExpression","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":58,"name":"mode","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":59,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":60,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":61,"name":"left","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":62,"name":"right","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"ChildInterpolationBinding","id":52}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":55,"character":48}]},{"id":68,"name":"bind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":69,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":70,"name":"source","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":59,"character":6}]},{"id":66,"name":"call","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":67,"name":"call","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":58,"character":6}]},{"id":73,"name":"connect","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":74,"name":"connect","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":75,"name":"evaluate","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":61,"character":9}]},{"id":71,"name":"unbind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":72,"name":"unbind","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":60,"character":8}]},{"id":63,"name":"updateTarget","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":64,"name":"updateTarget","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":65,"name":"value","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":57,"character":14}]}],"groups":[{"title":"Constructors","kind":512,"children":[53]},{"title":"Methods","kind":2048,"children":[68,66,73,71,63]}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":55,"character":46}]},{"id":34,"name":"InterpolationBinding","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":35,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":36,"name":"new InterpolationBinding","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":37,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":38,"name":"parts","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":39,"name":"target","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":40,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":41,"name":"mode","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":42,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"InterpolationBinding","id":34}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":48,"character":43}]},{"id":47,"name":"bind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":48,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":49,"name":"source","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":52,"character":6}]},{"id":43,"name":"interpolate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":44,"name":"interpolate","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":50,"character":13}]},{"id":50,"name":"unbind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":51,"name":"unbind","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":53,"character":8}]},{"id":45,"name":"updateOneTimeBindings","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":46,"name":"updateOneTimeBindings","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":51,"character":23}]}],"groups":[{"title":"Constructors","kind":512,"children":[35]},{"title":"Methods","kind":2048,"children":[47,43,50,45]}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":48,"character":41}]},{"id":22,"name":"InterpolationBindingExpression","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":23,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":24,"name":"new InterpolationBindingExpression","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":25,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":26,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":27,"name":"parts","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":28,"name":"mode","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":29,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":30,"name":"attribute","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"InterpolationBindingExpression","id":22}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":44,"character":53}]},{"id":31,"name":"createBinding","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":32,"name":"createBinding","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":33,"name":"target","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":46,"character":15}]}],"groups":[{"title":"Constructors","kind":512,"children":[23]},{"title":"Methods","kind":2048,"children":[31]}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":44,"character":51}]},{"id":86,"name":"LetBinding","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":87,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{},"signatures":[{"id":88,"name":"new LetBinding","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{},"parameters":[{"id":89,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":90,"name":"sourceExpression","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":91,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":92,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":93,"name":"toBindingContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"indicates let binding result should be assigned to binding context\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"LetBinding","id":86}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":75,"character":33}]},{"id":99,"name":"bind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":100,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"comment":{},"parameters":[{"id":101,"name":"source","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"Binding context\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":92,"character":6}]},{"id":96,"name":"call","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":97,"name":"call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":98,"name":"context","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":87,"character":6}]},{"id":104,"name":"connect","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":105,"name":"connect","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":94,"character":9}]},{"id":102,"name":"unbind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":103,"name":"unbind","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":93,"character":8}]},{"id":94,"name":"updateTarget","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":95,"name":"updateTarget","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":86,"character":14}]}],"groups":[{"title":"Constructors","kind":512,"children":[87]},{"title":"Methods","kind":2048,"children":[99,96,104,102,94]}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":75,"character":31}]},{"id":76,"name":"LetExpression","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":77,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{},"signatures":[{"id":78,"name":"new LetExpression","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{},"parameters":[{"id":79,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":80,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":81,"name":"sourceExpression","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":82,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":83,"name":"toBindingContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"indicates let binding result should be assigned to binding context\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"LetExpression","id":76}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":63,"character":36}]},{"id":84,"name":"createBinding","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":85,"name":"createBinding","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":73,"character":15}]}],"groups":[{"title":"Constructors","kind":512,"children":[77]},{"title":"Methods","kind":2048,"children":[84]}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":63,"character":34}]},{"id":116,"name":"LetInterpolationBinding","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":117,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{},"signatures":[{"id":118,"name":"new LetInterpolationBinding","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{},"parameters":[{"id":119,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":120,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":121,"name":"parts","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":122,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":123,"name":"toBindingContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"indicates let binding result should be assigned to binding context\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"LetInterpolationBinding","id":116}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":108,"character":46}]},{"id":124,"name":"bind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":125,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"comment":{},"parameters":[{"id":126,"name":"source","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":122,"character":6}]},{"id":129,"name":"createInterpolationBinding","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":130,"name":"createInterpolationBinding","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":124,"character":28}]},{"id":127,"name":"unbind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":128,"name":"unbind","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":123,"character":8}]}],"groups":[{"title":"Constructors","kind":512,"children":[117]},{"title":"Methods","kind":2048,"children":[124,129,127]}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":108,"character":44}]},{"id":106,"name":"LetInterpolationBindingExpression","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":107,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"comment":{},"signatures":[{"id":108,"name":"new LetInterpolationBindingExpression","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{},"parameters":[{"id":109,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":110,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":111,"name":"parts","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":112,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":113,"name":"toBindingContext","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"shortText":"indicates let binding result should be assigned to binding context\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"LetInterpolationBindingExpression","id":106}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":96,"character":56}]},{"id":114,"name":"createBinding","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":115,"name":"createBinding","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":106,"character":15}]}],"groups":[{"title":"Constructors","kind":512,"children":[107]},{"title":"Methods","kind":2048,"children":[114]}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":96,"character":54}]},{"id":131,"name":"SyntaxInterpreter","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":133,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":134,"name":"new SyntaxInterpreter","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":135,"name":"parser","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":136,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":137,"name":"eventManager","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":138,"name":"attributeMap","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"SyntaxInterpreter","id":131}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":129,"character":21}]},{"id":132,"name":"inject","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExported":true},"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":129,"character":15}],"type":{"type":"intrinsic","name":"any"}},{"id":158,"name":"bind","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":159,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":160,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":161,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":162,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":163,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":164,"name":"context","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":134,"character":6}]},{"id":180,"name":"call","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":181,"name":"call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":182,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":183,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":184,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":185,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":138,"character":6}]},{"id":170,"name":"capture","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":171,"name":"capture","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":172,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":173,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":174,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":136,"character":9}]},{"id":175,"name":"delegate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":176,"name":"delegate","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":177,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":178,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":179,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":137,"character":10}]},{"id":153,"name":"determineDefaultBindingMode","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":154,"name":"determineDefaultBindingMode","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":155,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":156,"name":"attrName","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":157,"name":"context","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":133,"character":29}]},{"id":193,"name":"for","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":194,"name":"for","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":195,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":196,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":197,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":198,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":140,"character":7}]},{"id":211,"name":"from-view","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":212,"name":"from-view","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":213,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":214,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":215,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":216,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":143,"character":13}]},{"id":146,"name":"handleUnknownCommand","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":147,"name":"handleUnknownCommand","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":148,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":149,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":150,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":151,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":152,"name":"context","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":132,"character":22}]},{"id":139,"name":"interpret","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":140,"name":"interpret","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":141,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":142,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":143,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":144,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":145,"name":"context","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":131,"character":11}]},{"id":217,"name":"one-time","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":218,"name":"one-time","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":219,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":220,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":221,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":222,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":144,"character":12}]},{"id":186,"name":"options","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":187,"name":"options","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":188,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":189,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":190,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":191,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":192,"name":"context","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":139,"character":9}]},{"id":205,"name":"to-view","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":206,"name":"to-view","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":207,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":208,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":209,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":210,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":142,"character":11}]},{"id":165,"name":"trigger","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":166,"name":"trigger","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":167,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":168,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":169,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":135,"character":9}]},{"id":199,"name":"two-way","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":200,"name":"two-way","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":201,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":202,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":203,"name":"info","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":204,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":141,"character":11}]}],"groups":[{"title":"Constructors","kind":512,"children":[133]},{"title":"Properties","kind":1024,"children":[132]},{"title":"Methods","kind":2048,"children":[158,180,170,175,153,193,211,146,139,217,186,205,165,199]}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":128,"character":38}]},{"id":223,"name":"TemplatingBindingLanguage","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":225,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":226,"name":"new TemplatingBindingLanguage","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":227,"name":"parser","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":228,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":229,"name":"syntaxInterpreter","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":230,"name":"attributeMap","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"reference","name":"TemplatingBindingLanguage","id":223}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":147,"character":21}]},{"id":224,"name":"inject","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExported":true},"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":147,"character":15}],"type":{"type":"intrinsic","name":"any"}},{"id":237,"name":"createAttributeInstruction","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":238,"name":"createAttributeInstruction","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":239,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":240,"name":"element","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":241,"name":"theInfo","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":242,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":243,"name":"context","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"BindingLanguage.createAttributeInstruction"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":150,"character":28}],"overwrites":{"type":"reference","name":"BindingLanguage.createAttributeInstruction"}},{"id":244,"name":"createLetExpressions","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":245,"name":"createLetExpressions","kind":4096,"kindString":"Call signature","flags":{},"comment":{},"parameters":[{"id":246,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{},"type":{"type":"intrinsic","name":"any"}},{"id":247,"name":"letElement","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"comment":{"text":"\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"BindingLanguage.createLetExpressions"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":156,"character":22}],"overwrites":{"type":"reference","name":"BindingLanguage.createLetExpressions"}},{"id":231,"name":"inspectAttribute","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":232,"name":"inspectAttribute","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":233,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":234,"name":"elementName","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":235,"name":"attrName","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":236,"name":"attrValue","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"BindingLanguage.inspectAttribute"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":149,"character":18}],"overwrites":{"type":"reference","name":"BindingLanguage.inspectAttribute"}},{"id":248,"name":"inspectTextContent","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":249,"name":"inspectTextContent","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":250,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":251,"name":"value","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"BindingLanguage.inspectTextContent"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":157,"character":20}],"overwrites":{"type":"reference","name":"BindingLanguage.inspectTextContent"}},{"id":252,"name":"parseInterpolation","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":253,"name":"parseInterpolation","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":254,"name":"resources","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}},{"id":255,"name":"value","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":158,"character":20}]}],"groups":[{"title":"Constructors","kind":512,"children":[225]},{"title":"Properties","kind":1024,"children":[224]},{"title":"Methods","kind":2048,"children":[237,244,231,248,252]}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":146,"character":46}],"extendedTypes":[{"type":"reference","name":"BindingLanguage"}]},{"id":256,"name":"configure","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":257,"name":"configure","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":258,"name":"config","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"}}],"sources":[{"fileName":"aurelia-templating-binding.d.ts","line":160,"character":33}]}],"groups":[{"title":"Classes","kind":128,"children":[2,52,34,22,86,76,116,106,131,223]},{"title":"Functions","kind":64,"children":[256]}]} \ No newline at end of file +{"id":0,"name":"aurelia-templating-binding","kind":1,"kindString":"Project","flags":{},"originalName":"","children":[{"id":4,"name":"AttributeMap","kind":128,"kindString":"Class","flags":{},"children":[{"id":6,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/attribute-map.ts","line":18,"character":2}],"signatures":[{"id":7,"name":"new AttributeMap","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":8,"name":"svg","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"SVGAnalyzer","package":"aurelia-binding","name":"SVGAnalyzer"}}],"type":{"type":"reference","id":4,"name":"AttributeMap"}}]},{"id":10,"name":"allElements","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/attribute-map.ts","line":13,"character":2}],"type":{"type":"intrinsic","name":"any"},"defaultValue":"..."},{"id":9,"name":"elements","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/attribute-map.ts","line":12,"character":2}],"type":{"type":"intrinsic","name":"any"},"defaultValue":"..."},{"id":21,"name":"map","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/attribute-map.ts","line":71,"character":2}],"signatures":[{"id":22,"name":"map","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Returns the javascript property name for a particlar HTML attribute."},"parameters":[{"id":23,"name":"elementName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}},{"id":24,"name":"attributeName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"any"}}]},{"id":12,"name":"register","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/attribute-map.ts","line":53,"character":2}],"signatures":[{"id":13,"name":"register","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Maps a specific HTML element attribute to a javascript property."},"parameters":[{"id":14,"name":"elementName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}},{"id":15,"name":"attributeName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}},{"id":16,"name":"propertyName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":17,"name":"registerUniversal","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/attribute-map.ts","line":63,"character":2}],"signatures":[{"id":18,"name":"registerUniversal","kind":4096,"kindString":"Call signature","flags":{},"comment":{"shortText":"Maps an HTML attribute to a javascript property."},"parameters":[{"id":19,"name":"attributeName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}},{"id":20,"name":"propertyName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[6]},{"title":"Properties","kind":1024,"children":[10,9]},{"title":"Methods","kind":2048,"children":[21,12,17]}],"sources":[{"fileName":"src/attribute-map.ts","line":8,"character":13}]},{"id":64,"name":"ChildInterpolationBinding","kind":128,"kindString":"Class","flags":{},"decorators":[{"name":"connectable","type":{"type":"reference","qualifiedName":"connectable","package":"aurelia-binding","name":"connectable"},"arguments":{}}],"children":[{"id":65,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":207,"character":2}],"signatures":[{"id":66,"name":"new ChildInterpolationBinding","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":67,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":115,"name":"InterpolationBinding"}},{"id":68,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ObserverLocator","package":"aurelia-binding","name":"ObserverLocator"}},{"id":69,"name":"sourceExpression","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Expression","package":"aurelia-binding","name":"Expression"}},{"id":70,"name":"mode","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"bindingMode","package":"aurelia-binding","name":"bindingMode"}},{"id":71,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"LookupFunctions","package":"aurelia-binding","name":"LookupFunctions"}},{"id":72,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"id":73,"name":"left","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}},{"id":74,"name":"right","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","id":64,"name":"ChildInterpolationBinding"},"inheritedFrom":{"type":"reference","name":"Binding.constructor"}}],"inheritedFrom":{"type":"reference","name":"Binding.constructor"}},{"id":101,"name":"bind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":263,"character":2}],"signatures":[{"id":102,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":103,"name":"source","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"Binding.bind"}}],"inheritedFrom":{"type":"reference","name":"Binding.bind"}},{"id":99,"name":"call","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":245,"character":2}],"signatures":[{"id":100,"name":"call","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}]},{"id":112,"name":"callSource","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"id":113,"name":"callSource","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Calls the source method with the specified args object. This method is present in event bindings like trigger/delegate."},"parameters":[{"id":114,"name":"event","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"any"},"inheritedFrom":{"type":"reference","name":"Binding.callSource"}}],"inheritedFrom":{"type":"reference","name":"Binding.callSource"}},{"id":106,"name":"connect","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":301,"character":2}],"signatures":[{"id":107,"name":"connect","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":108,"name":"evaluate","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":75,"name":"observeArray","kind":2048,"kindString":"Method","flags":{},"signatures":[{"id":76,"name":"observeArray","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":77,"name":"arr","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"array","elementType":{"type":"intrinsic","name":"any"}}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":104,"name":"unbind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":286,"character":2}],"signatures":[{"id":105,"name":"unbind","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"Binding.unbind"}}],"inheritedFrom":{"type":"reference","name":"Binding.unbind"}},{"id":78,"name":"unobserve","kind":2048,"kindString":"Method","flags":{},"signatures":[{"id":79,"name":"unobserve","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":80,"name":"all","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":109,"name":"updateSource","kind":2048,"kindString":"Method","flags":{"isExternal":true,"isOptional":true},"signatures":[{"id":110,"name":"updateSource","kind":4096,"kindString":"Call signature","flags":{"isExternal":true},"comment":{"shortText":"Assigns a value to the source."},"parameters":[{"id":111,"name":"value","kind":32768,"kindString":"Parameter","flags":{"isExternal":true},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"Binding.updateSource"}}],"inheritedFrom":{"type":"reference","name":"Binding.updateSource"}},{"id":96,"name":"updateTarget","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":233,"character":2}],"signatures":[{"id":97,"name":"updateTarget","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":98,"name":"value","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"},"inheritedFrom":{"type":"reference","name":"Binding.updateTarget"}}],"inheritedFrom":{"type":"reference","name":"Binding.updateTarget"}}],"groups":[{"title":"Constructors","kind":512,"children":[65]},{"title":"Methods","kind":2048,"children":[101,99,112,106,75,104,78,109,96]}],"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":172,"character":13}],"extendedTypes":[{"type":"reference","qualifiedName":"Binding","package":"aurelia-binding","name":"Binding"}]},{"id":115,"name":"InterpolationBinding","kind":128,"kindString":"Class","flags":{},"children":[{"id":116,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":100,"character":2}],"signatures":[{"id":117,"name":"new InterpolationBinding","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":118,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ObserverLocator","package":"aurelia-binding","name":"ObserverLocator"}},{"id":119,"name":"parts","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","qualifiedName":"Expression","package":"aurelia-binding","name":"Expression"}]}}},{"id":120,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}},{"id":121,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}},{"id":122,"name":"mode","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"bindingMode","package":"aurelia-binding","name":"bindingMode"}},{"id":123,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"LookupFunctions","package":"aurelia-binding","name":"LookupFunctions"}}],"type":{"type":"reference","id":115,"name":"InterpolationBinding"}}]},{"id":137,"name":"bind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":131,"character":2}],"signatures":[{"id":138,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":139,"name":"source","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":133,"name":"interpolate","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":111,"character":2}],"signatures":[{"id":134,"name":"interpolate","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}]},{"id":140,"name":"unbind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":151,"character":2}],"signatures":[{"id":141,"name":"unbind","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}]},{"id":135,"name":"updateOneTimeBindings","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":122,"character":2}],"signatures":[{"id":136,"name":"updateOneTimeBindings","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[116]},{"title":"Methods","kind":2048,"children":[137,133,140,135]}],"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":80,"character":13}]},{"id":142,"name":"InterpolationBindingExpression","kind":128,"kindString":"Class","flags":{},"children":[{"id":143,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":30,"character":2}],"signatures":[{"id":144,"name":"new InterpolationBindingExpression","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":145,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ObserverLocator","package":"aurelia-binding","name":"ObserverLocator"}},{"id":146,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}},{"id":147,"name":"parts","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","qualifiedName":"Expression","package":"aurelia-binding","name":"Expression"}]}}},{"id":148,"name":"mode","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"bindingMode","package":"aurelia-binding","name":"bindingMode"}},{"id":149,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"LookupFunctions","package":"aurelia-binding","name":"LookupFunctions"}},{"id":150,"name":"attribute","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","id":142,"name":"InterpolationBindingExpression"}}]},{"id":159,"name":"createBinding","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":47,"character":2}],"signatures":[{"id":160,"name":"createBinding","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":161,"name":"target","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"union","types":[{"type":"reference","id":64,"name":"ChildInterpolationBinding"},{"type":"reference","id":115,"name":"InterpolationBinding"}]}}]}],"groups":[{"title":"Constructors","kind":512,"children":[143]},{"title":"Methods","kind":2048,"children":[159]}],"sources":[{"fileName":"src/interpolation-binding-expression.ts","line":4,"character":13}]},{"id":162,"name":"LetBinding","kind":128,"kindString":"Class","flags":{},"decorators":[{"name":"connectable","type":{"type":"reference","qualifiedName":"connectable","package":"aurelia-binding","name":"connectable"},"arguments":{}}],"children":[{"id":163,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/let-expression.ts","line":83,"character":2}],"signatures":[{"id":164,"name":"new LetBinding","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{},"parameters":[{"id":165,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"reference","qualifiedName":"ObserverLocator","package":"aurelia-binding","name":"ObserverLocator"}},{"id":166,"name":"sourceExpression","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"reference","qualifiedName":"Expression","package":"aurelia-binding","name":"Expression"}},{"id":167,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"intrinsic","name":"string"}},{"id":168,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"reference","qualifiedName":"LookupFunctions","package":"aurelia-binding","name":"LookupFunctions"}},{"id":169,"name":"toBindingContext","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"indicates let binding result should be assigned to binding context\n"},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","id":162,"name":"LetBinding"}}]},{"id":183,"name":"bind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-expression.ts","line":112,"character":2}],"signatures":[{"id":184,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"comment":{},"parameters":[{"id":185,"name":"source","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"Binding context\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":180,"name":"call","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-expression.ts","line":98,"character":2}],"signatures":[{"id":181,"name":"call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":182,"name":"context","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":191,"name":"connect","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-expression.ts","line":149,"character":2}],"signatures":[{"id":192,"name":"connect","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}]},{"id":186,"name":"unbind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-expression.ts","line":131,"character":2}],"signatures":[{"id":187,"name":"unbind","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}]},{"id":188,"name":"unobserve","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-expression.ts","line":145,"character":2}],"signatures":[{"id":189,"name":"unobserve","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":190,"name":"arg0","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":178,"name":"updateTarget","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-expression.ts","line":93,"character":2}],"signatures":[{"id":179,"name":"updateTarget","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[163]},{"title":"Methods","kind":2048,"children":[183,180,191,186,188,178]}],"sources":[{"fileName":"src/let-expression.ts","line":50,"character":13}]},{"id":193,"name":"LetExpression","kind":128,"kindString":"Class","flags":{},"children":[{"id":194,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/let-expression.ts","line":30,"character":2}],"signatures":[{"id":195,"name":"new LetExpression","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{},"parameters":[{"id":196,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"reference","qualifiedName":"ObserverLocator","package":"aurelia-binding","name":"ObserverLocator"}},{"id":197,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"intrinsic","name":"string"}},{"id":198,"name":"sourceExpression","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"reference","qualifiedName":"Expression","package":"aurelia-binding","name":"Expression"}},{"id":199,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"reference","qualifiedName":"LookupFunctions","package":"aurelia-binding","name":"LookupFunctions"}},{"id":200,"name":"toBindingContext","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"indicates let binding result should be assigned to binding context\n"},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","id":193,"name":"LetExpression"}}]},{"id":206,"name":"createBinding","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-expression.ts","line":38,"character":2}],"signatures":[{"id":207,"name":"createBinding","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"reference","id":162,"name":"LetBinding"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[194]},{"title":"Methods","kind":2048,"children":[206]}],"sources":[{"fileName":"src/let-expression.ts","line":11,"character":13}]},{"id":208,"name":"LetInterpolationBinding","kind":128,"kindString":"Class","flags":{},"children":[{"id":209,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/let-interpolation-expression.ts","line":81,"character":2}],"signatures":[{"id":210,"name":"new LetInterpolationBinding","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{},"parameters":[{"id":211,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"reference","qualifiedName":"ObserverLocator","package":"aurelia-binding","name":"ObserverLocator"}},{"id":212,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"intrinsic","name":"string"}},{"id":213,"name":"parts","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","qualifiedName":"Expression","package":"aurelia-binding","name":"Expression"}]}}},{"id":214,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"reference","qualifiedName":"LookupFunctions","package":"aurelia-binding","name":"LookupFunctions"}},{"id":215,"name":"toBindingContext","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"indicates let binding result should be assigned to binding context\n"},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","id":208,"name":"LetInterpolationBinding"}}]},{"id":225,"name":"bind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-interpolation-expression.ts","line":93,"character":2}],"signatures":[{"id":226,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"comment":{},"parameters":[{"id":227,"name":"source","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"\n"},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}]},{"id":230,"name":"createInterpolationBinding","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-interpolation-expression.ts","line":120,"character":2}],"signatures":[{"id":231,"name":"createInterpolationBinding","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"union","types":[{"type":"reference","id":64,"name":"ChildInterpolationBinding"},{"type":"reference","id":115,"name":"InterpolationBinding"}]}}]},{"id":228,"name":"unbind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-interpolation-expression.ts","line":109,"character":2}],"signatures":[{"id":229,"name":"unbind","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"intrinsic","name":"void"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[209]},{"title":"Methods","kind":2048,"children":[225,230,228]}],"sources":[{"fileName":"src/let-interpolation-expression.ts","line":45,"character":13}]},{"id":232,"name":"LetInterpolationBindingExpression","kind":128,"kindString":"Class","flags":{},"children":[{"id":233,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/let-interpolation-expression.ts","line":26,"character":2}],"signatures":[{"id":234,"name":"new LetInterpolationBindingExpression","kind":16384,"kindString":"Constructor signature","flags":{},"comment":{},"parameters":[{"id":235,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"reference","qualifiedName":"ObserverLocator","package":"aurelia-binding","name":"ObserverLocator"}},{"id":236,"name":"targetProperty","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"intrinsic","name":"string"}},{"id":237,"name":"parts","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"id":238,"name":"lookupFunctions","kind":32768,"kindString":"Parameter","flags":{},"comment":{},"type":{"type":"reference","qualifiedName":"LookupFunctions","package":"aurelia-binding","name":"LookupFunctions"}},{"id":239,"name":"toBindingContext","kind":32768,"kindString":"Parameter","flags":{},"comment":{"shortText":"indicates let binding result should be assigned to binding context\n"},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","id":232,"name":"LetInterpolationBindingExpression"}}]},{"id":245,"name":"createBinding","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/let-interpolation-expression.ts","line":34,"character":2}],"signatures":[{"id":246,"name":"createBinding","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"reference","id":208,"name":"LetInterpolationBinding"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[233]},{"title":"Methods","kind":2048,"children":[245]}],"sources":[{"fileName":"src/let-interpolation-expression.ts","line":7,"character":13}]},{"id":247,"name":"SyntaxInterpreter","kind":128,"kindString":"Class","flags":{},"children":[{"id":249,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":35,"character":2}],"signatures":[{"id":250,"name":"new SyntaxInterpreter","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":251,"name":"parser","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Parser","package":"aurelia-binding","name":"Parser"}},{"id":252,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ObserverLocator","package":"aurelia-binding","name":"ObserverLocator"}},{"id":253,"name":"eventManager","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"EventManager","package":"aurelia-binding","name":"EventManager"}},{"id":254,"name":"attributeMap","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":4,"name":"AttributeMap"}}],"type":{"type":"reference","id":247,"name":"SyntaxInterpreter"}}]},{"id":255,"name":"language","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":21,"character":2}],"type":{"type":"reference","qualifiedName":"BindingLanguage","package":"aurelia-templating","name":"BindingLanguage"}},{"id":279,"name":"bind","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":78,"character":2}],"signatures":[{"id":280,"name":"bind","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":281,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":282,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":283,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":284,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}},{"id":285,"name":"context","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"HtmlBehaviorResource","package":"aurelia-templating","name":"HtmlBehaviorResource"}}],"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}]},{"id":301,"name":"call","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":127,"character":2}],"signatures":[{"id":302,"name":"call","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":303,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":304,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}},{"id":305,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":306,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}],"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}]},{"id":291,"name":"capture","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":105,"character":2}],"signatures":[{"id":292,"name":"capture","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":293,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":294,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}},{"id":295,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}}],"type":{"type":"reference","qualifiedName":"ListenerExpression","package":"aurelia-binding","name":"ListenerExpression"}}]},{"id":296,"name":"delegate","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":116,"character":2}],"signatures":[{"id":297,"name":"delegate","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":298,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":299,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}},{"id":300,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}}],"type":{"type":"reference","qualifiedName":"ListenerExpression","package":"aurelia-binding","name":"ListenerExpression"}}]},{"id":274,"name":"determineDefaultBindingMode","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":56,"character":2}],"signatures":[{"id":275,"name":"determineDefaultBindingMode","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":276,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":277,"name":"attrName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}},{"id":278,"name":"context","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"HtmlBehaviorResource","package":"aurelia-templating","name":"HtmlBehaviorResource"}}],"type":{"type":"reference","qualifiedName":"bindingMode","package":"aurelia-binding","name":"bindingMode"}}]},{"id":322,"name":"for","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":216,"character":2}],"signatures":[{"id":323,"name":"for","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":324,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":325,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":326,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":327,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}],"type":{"type":"intersection","types":[{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"},{"type":"reflection","declaration":{"id":328,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"children":[{"id":329,"name":"attributes","kind":1024,"kindString":"Property","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":219,"character":45}],"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"any"}],"qualifiedName":"Record","package":"typescript","name":"Record"}}],"groups":[{"title":"Properties","kind":1024,"children":[329]}]}}]}}]},{"id":342,"name":"from-view","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":280,"character":2}],"signatures":[{"id":343,"name":"from-view","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":344,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":345,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":346,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":347,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}],"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}]},{"id":267,"name":"handleUnknownCommand","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":51,"character":2}],"signatures":[{"id":268,"name":"handleUnknownCommand","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":269,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":270,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":271,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":272,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}},{"id":273,"name":"context","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"HtmlBehaviorResource","package":"aurelia-templating","name":"HtmlBehaviorResource"}}],"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}]},{"id":260,"name":"interpret","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":42,"character":2}],"signatures":[{"id":261,"name":"interpret","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":262,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":263,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":264,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":265,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}},{"id":266,"name":"context","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"reference","qualifiedName":"HtmlBehaviorResource","package":"aurelia-templating","name":"HtmlBehaviorResource"}}],"type":{"type":"intrinsic","name":"any"}}]},{"id":348,"name":"one-time","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":294,"character":2}],"signatures":[{"id":349,"name":"one-time","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":350,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":351,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":352,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":353,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}],"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}]},{"id":307,"name":"options","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":140,"character":2}],"signatures":[{"id":308,"name":"options","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":309,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":310,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":311,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":312,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}},{"id":313,"name":"context","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"HtmlBehaviorResource","package":"aurelia-templating","name":"HtmlBehaviorResource"}}],"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}]},{"id":336,"name":"to-view","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":266,"character":2}],"signatures":[{"id":337,"name":"to-view","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":338,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":339,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":340,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":341,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}],"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}]},{"id":286,"name":"trigger","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":94,"character":2}],"signatures":[{"id":287,"name":"trigger","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":288,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":289,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}},{"id":290,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}}],"type":{"type":"reference","qualifiedName":"ListenerExpression","package":"aurelia-binding","name":"ListenerExpression"}}]},{"id":330,"name":"two-way","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/syntax-interpreter.ts","line":252,"character":2}],"signatures":[{"id":331,"name":"two-way","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":332,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":333,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":334,"name":"info","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":335,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}],"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[249]},{"title":"Properties","kind":1024,"children":[255]},{"title":"Methods","kind":2048,"children":[279,301,291,296,274,322,342,267,260,348,307,336,286,330]}],"sources":[{"fileName":"src/syntax-interpreter.ts","line":17,"character":13}]},{"id":25,"name":"TemplatingBindingLanguage","kind":128,"kindString":"Class","flags":{},"children":[{"id":27,"name":"constructor","kind":512,"kindString":"Constructor","flags":{},"sources":[{"fileName":"src/binding-language.ts","line":30,"character":2}],"signatures":[{"id":28,"name":"new TemplatingBindingLanguage","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":29,"name":"parser","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Parser","package":"aurelia-binding","name":"Parser"}},{"id":30,"name":"observerLocator","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ObserverLocator","package":"aurelia-binding","name":"ObserverLocator"}},{"id":31,"name":"syntaxInterpreter","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":247,"name":"SyntaxInterpreter"}},{"id":32,"name":"attributeMap","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":4,"name":"AttributeMap"}}],"type":{"type":"reference","id":25,"name":"TemplatingBindingLanguage"},"overwrites":{"type":"reference","name":"BindingLanguage.constructor"}}],"overwrites":{"type":"reference","name":"BindingLanguage.constructor"}},{"id":45,"name":"createAttributeInstruction","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/binding-language.ts","line":86,"character":2}],"signatures":[{"id":46,"name":"createAttributeInstruction","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":47,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":48,"name":"element","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}},{"id":49,"name":"theInfo","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","id":354,"name":"AttributeInfo"}},{"id":50,"name":"existingInstruction","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"BehaviorInstruction","package":"aurelia-templating","name":"BehaviorInstruction"}},{"id":51,"name":"context","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"HtmlBehaviorResource","package":"aurelia-templating","name":"HtmlBehaviorResource"}}],"type":{"type":"intrinsic","name":"any"},"overwrites":{"type":"reference","name":"BindingLanguage.createAttributeInstruction"}}],"overwrites":{"type":"reference","name":"BindingLanguage.createAttributeInstruction"}},{"id":52,"name":"createLetExpressions","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/binding-language.ts","line":108,"character":2}],"signatures":[{"id":53,"name":"createLetExpressions","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":54,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":55,"name":"letElement","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"Element","package":"typescript","name":"Element"}}],"type":{"type":"array","elementType":{"type":"intrinsic","name":"any"}},"overwrites":{"type":"reference","name":"BindingLanguage.createLetExpressions"}}],"overwrites":{"type":"reference","name":"BindingLanguage.createLetExpressions"}},{"id":39,"name":"inspectAttribute","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/binding-language.ts","line":41,"character":2}],"signatures":[{"id":40,"name":"inspectAttribute","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":41,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":42,"name":"elementName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}},{"id":43,"name":"attrName","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}},{"id":44,"name":"attrValue","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","id":354,"name":"AttributeInfo"},"overwrites":{"type":"reference","name":"BindingLanguage.inspectAttribute"}}],"overwrites":{"type":"reference","name":"BindingLanguage.inspectAttribute"}},{"id":56,"name":"inspectTextContent","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/binding-language.ts","line":171,"character":2}],"signatures":[{"id":57,"name":"inspectTextContent","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":58,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":59,"name":"value","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","id":142,"name":"InterpolationBindingExpression"},"overwrites":{"type":"reference","name":"BindingLanguage.inspectTextContent"}}],"overwrites":{"type":"reference","name":"BindingLanguage.inspectTextContent"}},{"id":60,"name":"parseInterpolation","kind":2048,"kindString":"Method","flags":{},"sources":[{"fileName":"src/binding-language.ts","line":186,"character":2}],"signatures":[{"id":61,"name":"parseInterpolation","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":62,"name":"resources","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","qualifiedName":"ViewResources","package":"aurelia-templating","name":"ViewResources"}},{"id":63,"name":"value","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"intrinsic","name":"any"}}]}],"groups":[{"title":"Constructors","kind":512,"children":[27]},{"title":"Methods","kind":2048,"children":[45,52,39,56,60]}],"sources":[{"fileName":"src/binding-language.ts","line":13,"character":13}],"extendedTypes":[{"type":"reference","qualifiedName":"BindingLanguage","package":"aurelia-templating","name":"BindingLanguage"}]},{"id":354,"name":"AttributeInfo","kind":256,"kindString":"Interface","flags":{},"comment":{"shortText":"An object describing information analyzed from an attribute in an Aurelia templates"},"children":[{"id":357,"name":"attrName","kind":1024,"kindString":"Property","flags":{"isOptional":true},"sources":[{"fileName":"src/types.d.ts","line":9,"character":2}],"type":{"type":"intrinsic","name":"string"}},{"id":358,"name":"attrValue","kind":1024,"kindString":"Property","flags":{"isOptional":true},"sources":[{"fileName":"src/types.d.ts","line":10,"character":2}],"type":{"type":"intrinsic","name":"string"}},{"id":355,"name":"command","kind":1024,"kindString":"Property","flags":{"isOptional":true},"sources":[{"fileName":"src/types.d.ts","line":7,"character":2}],"type":{"type":"intrinsic","name":"string"}},{"id":359,"name":"defaultBindingMode","kind":1024,"kindString":"Property","flags":{"isOptional":true},"sources":[{"fileName":"src/types.d.ts","line":11,"character":2}],"type":{"type":"reference","qualifiedName":"bindingMode","package":"aurelia-binding","name":"bindingMode"}},{"id":356,"name":"expression","kind":1024,"kindString":"Property","flags":{"isOptional":true},"sources":[{"fileName":"src/types.d.ts","line":8,"character":2}],"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","qualifiedName":"BindingExpression","package":"aurelia-binding","name":"BindingExpression"}]}}],"groups":[{"title":"Properties","kind":1024,"children":[357,358,355,359,356]}],"sources":[{"fileName":"src/types.d.ts","line":6,"character":17}]},{"id":1,"name":"configure","kind":64,"kindString":"Function","flags":{},"sources":[{"fileName":"src/aurelia-templating-binding.ts","line":4,"character":16}],"signatures":[{"id":2,"name":"configure","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":3,"name":"config","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"intrinsic","name":"any"}}],"type":{"type":"intrinsic","name":"void"}}]}],"groups":[{"title":"Classes","kind":128,"children":[4,64,115,142,162,193,208,232,247,25]},{"title":"Interfaces","kind":256,"children":[354]},{"title":"Functions","kind":64,"children":[1]}],"sources":[{"fileName":"src/aurelia-templating-binding.ts","line":1,"character":0}]} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index faf896d..f948160 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "aurelia-templating-binding", - "version": "1.5.4", + "version": "1.6.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "aurelia-templating-binding", - "version": "1.5.4", + "version": "1.6.0", "license": "MIT", "dependencies": { "aurelia-binding": "^2.0.0", @@ -31,7 +31,6 @@ "karma-coverage": "^2.2.0", "karma-jasmine": "^4.0.2", "karma-typescript": "^5.5.3", - "rimraf": "^3.0.2", "rollup": "^2.70.1", "typedoc": "^0.22.13", "typescript": "^4.6.3" diff --git a/package.json b/package.json index fb23d40..a129e7b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aurelia-templating-binding", - "version": "1.5.4", + "version": "1.6.0", "description": "An implementation of the templating engine's Binding Language abstraction which uses a pluggable command syntax.", "keywords": [ "aurelia", @@ -34,7 +34,6 @@ "test:watch": "karma start", "test:debugger": "karma start --browsers ChromeDebugging", "lint": "eslint .", - "prebuild": "rimraf dist", "build": "rollup -c", "build:dts": "dts-bundle-generator -o dist/types/aurelia-templating-binding.d.ts src/aurelia-templating-binding.ts", "postbuild": "npm run build:dts", @@ -68,7 +67,6 @@ "karma-coverage": "^2.2.0", "karma-jasmine": "^4.0.2", "karma-typescript": "^5.5.3", - "rimraf": "^3.0.2", "rollup": "^2.70.1", "typedoc": "^0.22.13", "typescript": "^4.6.3"