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"