diff --git a/.gitignore b/.gitignore index 3c3629e..5fd4549 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ -node_modules +typings/ +node_modules/ +*.js +*.js.map \ No newline at end of file diff --git a/LICENSE b/LICENSE index 48d0699..9fdc528 100644 --- a/LICENSE +++ b/LICENSE @@ -1,13 +1,21 @@ -Copyright 2010-2015 Google, Inc. http://angularjs.org +The MIT License (MIT) -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at +Copyright (c) 2016 IdeaBlade - http://www.apache.org/licenses/LICENSE-2.0 +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index bb41d00..0aa7e0e 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,55 @@ -# Angular 2 Quickstart +# Angular 2 QuickStart Source -The Angular 2 quickstart includes all of the dependencies for writing Angular 2 in your browser. +This repository holds the TypeScript source code of the [angular.io quickstart](https://angular.io/docs/ts/latest/quickstart.html), +the foundation for most of the documentation samples and potentially a good starting point for your application. -The quickstart contains - - Pre-built ES5 version of [Angular 2](https://www.npmjs.com/package/angular2) alpha-14 - - Pre-built ES5 version of [rtts-assert](https://www.npmjs.com/package/rtts-assert) alpha-7 - - The es6-shim, which includes Traceur, ES6 Module Loader, System, Zone, and Traceur options for meta-data annotations. +## Create a new project based on the QuickStart + +Clone this repo into new project folder (e.g., `my-proj`). +```bash +$ git clone https://github.com/angular/quickstart my-proj +$ cd my-proj +``` + +We have no intention of updating the source on `angular/quickstart`. +Discard everything "git-like" by deleting the `.git` folder. +```bash +$ rm -rf .git +``` + +### Create a new git repo +You could [start writing code](#start-development) now and throw it all away when you're done. +If you'd rather preserve your work under source control, consider taking the following steps. + +Initialize this project as a *local git repo* and make the first commit: +```bash +$ git init +$ git add . +$ git commit -m "Initial commit" +``` + +Create a *remote repository* for this project on the service of your choice. + +Grab its address (e.g. *`https://github.com//my-proj.git`*) and push the *local repo* to the *remote*. +```bash +$ git remote add origin +$ git push -u origin master +``` +### Start development + +Install the npm packages described in the `package.json` and verify that it works: + +```bash +$ npm install +$ npm start +``` +You're ready to write your application. + +Remember the npm scripts in `package.json`: + +* `npm start` - runs the compiler and a server at the same time, both in "watch mode". +* `npm run tsc` - runs the TypeScript compiler once. +* `npm run tsc:w` - runs the TypeScript compiler in watch mode; the process keeps running, awaiting changes to TypeScript files and re-compiling when it sees them. +* `npm run lite` - runs the [lite-server](https://www.npmjs.com/package/lite-server), a light-weight, static file server, written and maintained by [John Papa](John Papa) with excellent support for Angular apps that use routing. +* `npm run typings` - runs the typings tool. +* `npm run postinstall` - called by *npm* automatically *after* it successfully completes package installation. This script installs the TypeScript definition files this app requires. diff --git a/angular2/angular2.js b/angular2/angular2.js deleted file mode 100644 index a372667..0000000 --- a/angular2/angular2.js +++ /dev/null @@ -1,41 +0,0 @@ -System.register(["./change_detection", "./core", "./annotations", "./directives", "./forms"], function($__export) { - "use strict"; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - return { - setters: [function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }], - execute: function() {} - }; -}); - -//# sourceMappingURL=angular2.map - -//# sourceMappingURL=angular2.js.map \ No newline at end of file diff --git a/angular2/angular2.js.map b/angular2/angular2.js.map deleted file mode 100644 index c853311..0000000 --- a/angular2/angular2.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/2","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/1","angular2.js"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,8EAAoB,UAAS,SAAQ;;ACC1C,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;ACDhD,OAAO;AACD,UAAM,GCDZ,SAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CDDuB;AACzB,UAAM,eAAmB;EAC3B,CAAA;AFDI,CAAC,CAAC;AKMwB","file":"angular2.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","\n var $__exportNames = $__placeholder__0;\n ","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","\n Object.keys($__m).forEach(function(p) {\n if (!$__exportNames[p])\n $__export(p, $__m[p]);\n });\n ","/**\n * Define public API for Angular here.\n */\nexport * from './change_detection';\nexport * from './core';\nexport * from './annotations';\nexport * from './directives';\nexport * from './forms';\n"]} \ No newline at end of file diff --git a/angular2/annotations.js b/angular2/annotations.js deleted file mode 100644 index 27d373c..0000000 --- a/angular2/annotations.js +++ /dev/null @@ -1,17 +0,0 @@ -System.register(["./src/core/annotations/annotations"], function($__export) { - "use strict"; - var $__exportNames = {}; - return { - setters: [function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }], - execute: function() {} - }; -}); - -//# sourceMappingURL=annotations.map - -//# sourceMappingURL=annotations.js.map \ No newline at end of file diff --git a/angular2/annotations.js.map b/angular2/annotations.js.map deleted file mode 100644 index 27451eb..0000000 --- a/angular2/annotations.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/2","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/1","annotations.js"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,wCAAoB,UAAS,SAAQ;;ACC1C,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;ACDhD,OAAO;AACD,UAAM,GCDZ,SAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CDDuB;AACzB,UAAM,eAAmB;EAC3B,CAAA;AFDI,CAAC,CAAC;AKE2B","file":"annotations.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","\n var $__exportNames = $__placeholder__0;\n ","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","\n Object.keys($__m).forEach(function(p) {\n if (!$__exportNames[p])\n $__export(p, $__m[p]);\n });\n ","/**\n * Define public API for Angular here.\n */\nexport * from './src/core/annotations/annotations';\n"]} \ No newline at end of file diff --git a/angular2/change_detection.js b/angular2/change_detection.js deleted file mode 100644 index c599fc7..0000000 --- a/angular2/change_detection.js +++ /dev/null @@ -1,138 +0,0 @@ -System.register(["./src/change_detection/parser/ast", "./src/change_detection/parser/lexer", "./src/change_detection/parser/parser", "./src/change_detection/parser/locals", "./src/change_detection/exceptions", "./src/change_detection/interfaces", "./src/change_detection/proto_change_detector", "./src/change_detection/dynamic_change_detector", "./src/change_detection/pipes/pipe_registry", "./src/change_detection/change_detection_util", "./src/change_detection/pipes/pipe", "./src/change_detection/pipes/iterable_changes", "./src/change_detection/pipes/keyvalue_changes", "./src/change_detection/pipes/null_pipe"], function($__export) { - "use strict"; - var ProtoChangeDetector, - DynamicProtoChangeDetector, - JitProtoChangeDetector, - PipeRegistry, - IterableChangesFactory, - KeyValueChangesFactory, - NullPipeFactory, - ChangeDetection, - defaultPipes, - DynamicChangeDetection, - JitChangeDetection, - _registry, - dynamicChangeDetection, - jitChangeDetection; - var $__exportNames = { - ChangeDetection: true, - defaultPipes: true, - DynamicChangeDetection: true, - JitChangeDetection: true, - dynamicChangeDetection: true, - jitChangeDetection: true, - undefined: true - }; - var $__exportNames = { - ChangeDetection: true, - defaultPipes: true, - DynamicChangeDetection: true, - JitChangeDetection: true, - dynamicChangeDetection: true, - jitChangeDetection: true, - undefined: true - }; - return { - setters: [function($__m) { - $__export("AST", $__m.AST); - }, function($__m) { - $__export("Lexer", $__m.Lexer); - }, function($__m) { - $__export("Parser", $__m.Parser); - }, function($__m) { - $__export("Locals", $__m.Locals); - }, function($__m) { - $__export("ExpressionChangedAfterItHasBeenChecked", $__m.ExpressionChangedAfterItHasBeenChecked); - $__export("ChangeDetectionError", $__m.ChangeDetectionError); - }, function($__m) { - $__export("ChangeRecord", $__m.ChangeRecord); - $__export("ChangeDispatcher", $__m.ChangeDispatcher); - $__export("ChangeDetector", $__m.ChangeDetector); - $__export("CHECK_ONCE", $__m.CHECK_ONCE); - $__export("CHECK_ALWAYS", $__m.CHECK_ALWAYS); - $__export("DETACHED", $__m.DETACHED); - $__export("CHECKED", $__m.CHECKED); - }, function($__m) { - ProtoChangeDetector = $__m.ProtoChangeDetector; - DynamicProtoChangeDetector = $__m.DynamicProtoChangeDetector; - JitProtoChangeDetector = $__m.JitProtoChangeDetector; - $__export("ProtoChangeDetector", $__m.ProtoChangeDetector); - $__export("DynamicProtoChangeDetector", $__m.DynamicProtoChangeDetector); - $__export("JitProtoChangeDetector", $__m.JitProtoChangeDetector); - $__export("BindingRecord", $__m.BindingRecord); - }, function($__m) { - $__export("DynamicChangeDetector", $__m.DynamicChangeDetector); - }, function($__m) { - PipeRegistry = $__m.PipeRegistry; - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - $__export("uninitialized", $__m.uninitialized); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - IterableChangesFactory = $__m.IterableChangesFactory; - }, function($__m) { - KeyValueChangesFactory = $__m.KeyValueChangesFactory; - }, function($__m) { - NullPipeFactory = $__m.NullPipeFactory; - }], - execute: function() { - ChangeDetection = $__export("ChangeDetection", (function() { - var ChangeDetection = function ChangeDetection() {}; - return ($traceurRuntime.createClass)(ChangeDetection, {createProtoChangeDetector: function(name) { - return null; - }}, {}); - }())); - Object.defineProperty(ChangeDetection.prototype.createProtoChangeDetector, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - defaultPipes = $__export("defaultPipes", { - "iterableDiff": [new IterableChangesFactory(), new NullPipeFactory()], - "keyValDiff": [new KeyValueChangesFactory(), new NullPipeFactory()] - }); - DynamicChangeDetection = $__export("DynamicChangeDetection", (function($__super) { - var DynamicChangeDetection = function DynamicChangeDetection(registry) { - $traceurRuntime.superConstructor(DynamicChangeDetection).call(this); - this.registry = registry; - }; - return ($traceurRuntime.createClass)(DynamicChangeDetection, {createProtoChangeDetector: function(name) { - return new DynamicProtoChangeDetector(this.registry); - }}, {}, $__super); - }(ChangeDetection))); - Object.defineProperty(DynamicChangeDetection, "parameters", {get: function() { - return [[PipeRegistry]]; - }}); - Object.defineProperty(DynamicChangeDetection.prototype.createProtoChangeDetector, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - JitChangeDetection = $__export("JitChangeDetection", (function($__super) { - var JitChangeDetection = function JitChangeDetection(registry) { - $traceurRuntime.superConstructor(JitChangeDetection).call(this); - this.registry = registry; - }; - return ($traceurRuntime.createClass)(JitChangeDetection, {createProtoChangeDetector: function(name) { - return new JitProtoChangeDetector(this.registry); - }}, {}, $__super); - }(ChangeDetection))); - Object.defineProperty(JitChangeDetection, "parameters", {get: function() { - return [[PipeRegistry]]; - }}); - Object.defineProperty(JitChangeDetection.prototype.createProtoChangeDetector, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - _registry = new PipeRegistry(defaultPipes); - dynamicChangeDetection = $__export("dynamicChangeDetection", new DynamicChangeDetection(_registry)); - jitChangeDetection = $__export("jitChangeDetection", new JitChangeDetection(_registry)); - } - }; -}); - -//# sourceMappingURL=change_detection.map - -//# sourceMappingURL=change_detection.js.map \ No newline at end of file diff --git a/angular2/change_detection.js.map b/angular2/change_detection.js.map deleted file mode 100644 index 57006c6..0000000 --- a/angular2/change_detection.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/2","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/8","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/1","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","change_detection.js","@traceur/generated/TemplateParser/24","@traceur/generated/TemplateParser/23","@traceur/generated/TemplateParser/7","@traceur/generated/TemplateParser/12","@traceur/generated/TemplateParser/11"],"names":[],"mappings":"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","file":"change_detection.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","\n var $__exportNames = $__placeholder__0;\n ","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__export($__placeholder__0, $__m.$__placeholder__1);","$__placeholder__0 = $__m.$__placeholder__1;","\n Object.keys($__m).forEach(function(p) {\n if (!$__exportNames[p])\n $__export(p, $__m[p]);\n });\n ","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","export {AST} from './src/change_detection/parser/ast';\nexport {Lexer} from './src/change_detection/parser/lexer';\nexport {Parser} from './src/change_detection/parser/parser';\nexport {Locals}\n from './src/change_detection/parser/locals';\nexport {ExpressionChangedAfterItHasBeenChecked, ChangeDetectionError}\n from './src/change_detection/exceptions';\nexport {ChangeRecord, ChangeDispatcher, ChangeDetector,\n CHECK_ONCE, CHECK_ALWAYS, DETACHED, CHECKED} from './src/change_detection/interfaces';\nexport {ProtoChangeDetector, DynamicProtoChangeDetector, JitProtoChangeDetector, BindingRecord}\n from './src/change_detection/proto_change_detector';\nexport {DynamicChangeDetector}\n from './src/change_detection/dynamic_change_detector';\nexport * from './src/change_detection/pipes/pipe_registry';\nexport {uninitialized} from './src/change_detection/change_detection_util';\nexport * from './src/change_detection/pipes/pipe';\n\nimport {ProtoChangeDetector, DynamicProtoChangeDetector, JitProtoChangeDetector}\n from './src/change_detection/proto_change_detector';\nimport {PipeRegistry} from './src/change_detection/pipes/pipe_registry';\nimport {IterableChangesFactory} from './src/change_detection/pipes/iterable_changes';\nimport {KeyValueChangesFactory} from './src/change_detection/pipes/keyvalue_changes';\nimport {NullPipeFactory} from './src/change_detection/pipes/null_pipe';\n\nexport class ChangeDetection {\n createProtoChangeDetector(name:string):ProtoChangeDetector{\n // TODO: this should be abstract, once supported in AtScript\n return null;\n }\n}\n\nexport var defaultPipes = {\n \"iterableDiff\" : [\n new IterableChangesFactory(),\n new NullPipeFactory()\n ],\n \"keyValDiff\" : [\n new KeyValueChangesFactory(),\n new NullPipeFactory()\n ]\n};\n\nexport class DynamicChangeDetection extends ChangeDetection {\n registry:PipeRegistry;\n\n constructor(registry:PipeRegistry) {\n super();\n this.registry = registry;\n }\n\n createProtoChangeDetector(name:string):ProtoChangeDetector{\n return new DynamicProtoChangeDetector(this.registry);\n }\n}\n\nexport class JitChangeDetection extends ChangeDetection {\n registry:PipeRegistry;\n\n constructor(registry:PipeRegistry) {\n super();\n this.registry = registry;\n }\n\n createProtoChangeDetector(name:string):ProtoChangeDetector{\n return new JitProtoChangeDetector(this.registry);\n }\n}\n\nvar _registry = new PipeRegistry(defaultPipes);\n\nexport var dynamicChangeDetection = new DynamicChangeDetection(_registry);\nexport var jitChangeDetection = new JitChangeDetection(_registry);\n","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)","$__export($__placeholder__0, $__placeholder__1)","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","$traceurRuntime.superConstructor($__placeholder__0).call($__placeholder__1)"]} \ No newline at end of file diff --git a/angular2/core.js b/angular2/core.js deleted file mode 100644 index 3303ed1..0000000 --- a/angular2/core.js +++ /dev/null @@ -1,77 +0,0 @@ -System.register(["./src/core/annotations/visibility", "./src/core/compiler/interfaces", "./src/core/annotations/template", "./src/core/application", "./src/core/annotations/di", "./src/core/compiler/compiler", "./src/core/compiler/template_loader", "./src/core/compiler/view", "./src/core/compiler/view_container", "./src/core/compiler/binding_propagation_config", "./src/core/dom/element"], function($__export) { - "use strict"; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - return { - setters: [function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }], - execute: function() {} - }; -}); - -//# sourceMappingURL=core.map - -//# sourceMappingURL=core.js.map \ No newline at end of file diff --git a/angular2/core.js.map b/angular2/core.js.map deleted file mode 100644 index 0fb320c..0000000 --- a/angular2/core.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/2","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/1","core.js"],"names":[],"mappings":"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","file":"core.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","\n var $__exportNames = $__placeholder__0;\n ","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","\n Object.keys($__m).forEach(function(p) {\n if (!$__exportNames[p])\n $__export(p, $__m[p]);\n });\n ","export * from './src/core/annotations/visibility';\nexport * from './src/core/compiler/interfaces';\nexport * from './src/core/annotations/template';\nexport * from './src/core/application';\nexport * from './src/core/annotations/di';\n\nexport * from './src/core/compiler/compiler';\n\nexport * from './src/core/compiler/template_loader';\nexport * from './src/core/compiler/view';\nexport * from './src/core/compiler/view_container';\nexport * from './src/core/compiler/binding_propagation_config';\n\nexport * from './src/core/dom/element';\n"]} \ No newline at end of file diff --git a/angular2/di.js b/angular2/di.js deleted file mode 100644 index 4cf432c..0000000 --- a/angular2/di.js +++ /dev/null @@ -1,38 +0,0 @@ -System.register(["./src/di/annotations", "./src/di/injector", "./src/di/binding", "./src/di/key", "./src/di/exceptions", "./src/di/opaque_token"], function($__export) { - "use strict"; - return { - setters: [function($__m) { - $__export("Inject", $__m.Inject); - $__export("InjectPromise", $__m.InjectPromise); - $__export("InjectLazy", $__m.InjectLazy); - $__export("Injectable", $__m.Injectable); - $__export("Optional", $__m.Optional); - $__export("DependencyAnnotation", $__m.DependencyAnnotation); - }, function($__m) { - $__export("Injector", $__m.Injector); - }, function($__m) { - $__export("Binding", $__m.Binding); - $__export("Dependency", $__m.Dependency); - $__export("bind", $__m.bind); - }, function($__m) { - $__export("Key", $__m.Key); - $__export("KeyRegistry", $__m.KeyRegistry); - }, function($__m) { - $__export("KeyMetadataError", $__m.KeyMetadataError); - $__export("NoProviderError", $__m.NoProviderError); - $__export("ProviderError", $__m.ProviderError); - $__export("AsyncBindingError", $__m.AsyncBindingError); - $__export("CyclicDependencyError", $__m.CyclicDependencyError); - $__export("InstantiationError", $__m.InstantiationError); - $__export("InvalidBindingError", $__m.InvalidBindingError); - $__export("NoAnnotationError", $__m.NoAnnotationError); - }, function($__m) { - $__export("OpaqueToken", $__m.OpaqueToken); - }], - execute: function() {} - }; -}); - -//# sourceMappingURL=di.map - -//# sourceMappingURL=di.js.map \ No newline at end of file diff --git a/angular2/di.js.map b/angular2/di.js.map deleted file mode 100644 index 230a200..0000000 --- a/angular2/di.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/8","di.js"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,mIAAoB,UAAS,SAAQ;;ACApD,OAAO;AACD,UAAM,GCDZ,SAAS,IAAG;ACAZ,cAAQ,AAAC,UAAoB,KAAG,QAAmB,CAAC;AAApD,cAAQ,AAAC,iBAAoB,KAAG,eAAmB,CAAC;AAApD,cAAQ,AAAC,cAAoB,KAAG,YAAmB,CAAC;AAApD,cAAQ,AAAC,cAAoB,KAAG,YAAmB,CAAC;AAApD,cAAQ,AAAC,YAAoB,KAAG,UAAmB,CAAC;AAApD,cAAQ,AAAC,wBAAoB,KAAG,sBAAmB,CAAC;IDE5C,CAFR,UAAS,IAAG,CAAG;ACAf,cAAQ,AAAC,YAAoB,KAAG,UAAmB,CAAC;IDE5C,CAFR,UAAS,IAAG;ACAZ,cAAQ,AAAC,WAAoB,KAAG,SAAmB,CAAC;AAApD,cAAQ,AAAC,cAAoB,KAAG,YAAmB,CAAC;AAApD,cAAQ,AAAC,QAAoB,KAAG,MAAmB,CAAC;IDE5C,CAFR,UAAS,IAAG;ACAZ,cAAQ,AAAC,OAAoB,KAAG,KAAmB,CAAC;AAApD,cAAQ,AAAC,eAAoB,KAAG,aAAmB,CAAC;IDE5C,CAFR,UAAS,IAAG;ACAZ,cAAQ,AAAC,oBAAoB,KAAG,kBAAmB,CAAC;AAApD,cAAQ,AAAC,mBAAoB,KAAG,iBAAmB,CAAC;AAApD,cAAQ,AAAC,iBAAoB,KAAG,eAAmB,CAAC;AAApD,cAAQ,AAAC,qBAAoB,KAAG,mBAAmB,CAAC;AAApD,cAAQ,AAAC,yBAAoB,KAAG,uBAAmB,CAAC;AAApD,cAAQ,AAAC,sBAAoB,KAAG,oBAAmB,CAAC;AAApD,cAAQ,AAAC,uBAAoB,KAAG,qBAAmB,CAAC;AAApD,cAAQ,AAAC,qBAAoB,KAAG,mBAAmB,CAAC;IDE5C,CAFR,UAAS,IAAG,CAAG;ACAf,cAAQ,AAAC,eAAoB,KAAG,aAAmB,CAAC;IDE5C,CDDuB;AACzB,UAAM,eAAmB;EAC3B,CAAA;ADDI,CAAC,CAAC;AIOkB","file":"di.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__export($__placeholder__0, $__m.$__placeholder__1);","export {Inject, InjectPromise, InjectLazy, Injectable, Optional, DependencyAnnotation} from './src/di/annotations';\nexport {Injector} from './src/di/injector';\nexport {Binding, Dependency, bind} from './src/di/binding';\nexport {Key, KeyRegistry} from './src/di/key';\nexport {KeyMetadataError, NoProviderError, ProviderError, AsyncBindingError, CyclicDependencyError,\n InstantiationError, InvalidBindingError, NoAnnotationError} from './src/di/exceptions';\nexport {OpaqueToken} from './src/di/opaque_token';\n"]} \ No newline at end of file diff --git a/angular2/directives.js b/angular2/directives.js deleted file mode 100644 index 6178b60..0000000 --- a/angular2/directives.js +++ /dev/null @@ -1,35 +0,0 @@ -System.register(["./src/directives/for", "./src/directives/if", "./src/directives/non_bindable", "./src/directives/switch"], function($__export) { - "use strict"; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - return { - setters: [function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }], - execute: function() {} - }; -}); - -//# sourceMappingURL=directives.map - -//# sourceMappingURL=directives.js.map \ No newline at end of file diff --git a/angular2/directives.js.map b/angular2/directives.js.map deleted file mode 100644 index 4e3859e..0000000 --- a/angular2/directives.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/2","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/1","directives.js"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,6GAAoB,UAAS,SAAQ;;ACC1C,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;ACDhD,OAAO;AACD,UAAM,GCDZ,SAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CDDuB;AACzB,UAAM,eAAmB;EAC3B,CAAA;AFDI,CAAC,CAAC;AKK0B","file":"directives.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","\n var $__exportNames = $__placeholder__0;\n ","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","\n Object.keys($__m).forEach(function(p) {\n if (!$__exportNames[p])\n $__export(p, $__m[p]);\n });\n ","export * from './src/directives/for';\nexport * from './src/directives/if';\nexport * from './src/directives/non_bindable';\nexport * from './src/directives/switch';\n"]} \ No newline at end of file diff --git a/angular2/forms.js b/angular2/forms.js deleted file mode 100644 index dd2b07a..0000000 --- a/angular2/forms.js +++ /dev/null @@ -1,41 +0,0 @@ -System.register(["./src/forms/model", "./src/forms/directives", "./src/forms/validators", "./src/forms/validator_directives", "./src/forms/form_builder"], function($__export) { - "use strict"; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - var $__exportNames = {}; - return { - setters: [function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }, function($__m) { - Object.keys($__m).forEach(function(p) { - if (!$__exportNames[p]) - $__export(p, $__m[p]); - }); - }], - execute: function() {} - }; -}); - -//# sourceMappingURL=forms.map - -//# sourceMappingURL=forms.js.map \ No newline at end of file diff --git a/angular2/forms.js.map b/angular2/forms.js.map deleted file mode 100644 index 34b8a9e..0000000 --- a/angular2/forms.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/2","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/1","forms.js"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,2IAAoB,UAAS,SAAQ;;ACC1C,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;AAAtC,AAAI,IAAA,CAAA,cAAa,KAAoB,CAAC;ACDhD,OAAO;AACD,UAAM,GCDZ,SAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CAFR,UAAS,IAAG,CAAG;ACCL,WAAK,KAAK,AAAC,CAAC,IAAG,CAAC,QAAQ,AAAC,CAAC,SAAS,CAAA,CAAG;AACpC,WAAI,CAAC,cAAa,CAAE,CAAA,CAAC;AACnB,kBAAQ,AAAC,CAAC,CAAA,CAAG,CAAA,IAAG,CAAE,CAAA,CAAC,CAAC,CAAC;AAAA,MACzB,CAAC,CAAC;IDFJ,CDDuB;AACzB,UAAM,eAAmB;EAC3B,CAAA;AFDI,CAAC,CAAC;AKMqB","file":"forms.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","\n var $__exportNames = $__placeholder__0;\n ","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","\n Object.keys($__m).forEach(function(p) {\n if (!$__exportNames[p])\n $__export(p, $__m[p]);\n });\n ","export * from './src/forms/model';\nexport * from './src/forms/directives';\nexport * from './src/forms/validators';\nexport * from './src/forms/validator_directives';\nexport * from './src/forms/form_builder';"]} \ No newline at end of file diff --git a/angular2/src/change_detection/abstract_change_detector.js b/angular2/src/change_detection/abstract_change_detector.js deleted file mode 100644 index 29ea887..0000000 --- a/angular2/src/change_detection/abstract_change_detector.js +++ /dev/null @@ -1,95 +0,0 @@ -System.register(["angular2/src/facade/lang", "angular2/src/facade/collection", "./interfaces"], function($__export) { - "use strict"; - var isPresent, - List, - ListWrapper, - ChangeDetector, - CHECK_ALWAYS, - CHECK_ONCE, - CHECKED, - DETACHED, - AbstractChangeDetector; - return { - setters: [function($__m) { - isPresent = $__m.isPresent; - }, function($__m) { - List = $__m.List; - ListWrapper = $__m.ListWrapper; - }, function($__m) { - ChangeDetector = $__m.ChangeDetector; - CHECK_ALWAYS = $__m.CHECK_ALWAYS; - CHECK_ONCE = $__m.CHECK_ONCE; - CHECKED = $__m.CHECKED; - DETACHED = $__m.DETACHED; - }], - execute: function() { - AbstractChangeDetector = $__export("AbstractChangeDetector", (function($__super) { - var AbstractChangeDetector = function AbstractChangeDetector() { - $traceurRuntime.superConstructor(AbstractChangeDetector).call(this); - this.children = []; - this.mode = CHECK_ALWAYS; - }; - return ($traceurRuntime.createClass)(AbstractChangeDetector, { - addChild: function(cd) { - ListWrapper.push(this.children, cd); - cd.parent = this; - }, - removeChild: function(cd) { - ListWrapper.remove(this.children, cd); - }, - remove: function() { - this.parent.removeChild(this); - }, - detectChanges: function() { - this._detectChanges(false); - }, - checkNoChanges: function() { - this._detectChanges(true); - }, - _detectChanges: function(throwOnChange) { - if (this.mode === DETACHED || this.mode === CHECKED) - return ; - this.detectChangesInRecords(throwOnChange); - this._detectChangesInChildren(throwOnChange); - if (this.mode === CHECK_ONCE) - this.mode = CHECKED; - }, - detectChangesInRecords: function(throwOnChange) {}, - _detectChangesInChildren: function(throwOnChange) { - var children = this.children; - for (var i = 0; i < children.length; ++i) { - children[i]._detectChanges(throwOnChange); - } - }, - markPathToRootAsCheckOnce: function() { - var c = this; - while (isPresent(c) && c.mode != DETACHED) { - if (c.mode === CHECKED) - c.mode = CHECK_ONCE; - c = c.parent; - } - } - }, {}, $__super); - }(ChangeDetector))); - Object.defineProperty(AbstractChangeDetector.prototype.addChild, "parameters", {get: function() { - return [[ChangeDetector]]; - }}); - Object.defineProperty(AbstractChangeDetector.prototype.removeChild, "parameters", {get: function() { - return [[ChangeDetector]]; - }}); - Object.defineProperty(AbstractChangeDetector.prototype._detectChanges, "parameters", {get: function() { - return [[assert.type.boolean]]; - }}); - Object.defineProperty(AbstractChangeDetector.prototype.detectChangesInRecords, "parameters", {get: function() { - return [[assert.type.boolean]]; - }}); - Object.defineProperty(AbstractChangeDetector.prototype._detectChangesInChildren, "parameters", {get: function() { - return [[assert.type.boolean]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/abstract_change_detector.map - -//# sourceMappingURL=../../src/change_detection/abstract_change_detector.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/abstract_change_detector.js.map b/angular2/src/change_detection/abstract_change_detector.js.map deleted file mode 100644 index c29f7ee..0000000 --- a/angular2/src/change_detection/abstract_change_detector.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/12","src/change_detection/abstract_change_detector.js","@traceur/generated/TemplateParser/11","src/change_detection/@traceur/generated/TemplateParser/24","src/change_detection/@traceur/generated/TemplateParser/23"],"names":[],"mappings":"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","file":"src/change_detection/abstract_change_detector.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","import {isPresent} from 'angular2/src/facade/lang';\nimport {List, ListWrapper} from 'angular2/src/facade/collection';\nimport {ChangeDetector, CHECK_ALWAYS, CHECK_ONCE, CHECKED, DETACHED} from './interfaces';\n\nexport class AbstractChangeDetector extends ChangeDetector {\n children:List;\n parent:ChangeDetector;\n mode:string;\n\n constructor() {\n super();\n this.children = [];\n this.mode = CHECK_ALWAYS;\n }\n\n addChild(cd:ChangeDetector) {\n ListWrapper.push(this.children, cd);\n cd.parent = this;\n }\n\n removeChild(cd:ChangeDetector) {\n ListWrapper.remove(this.children, cd);\n }\n\n remove() {\n this.parent.removeChild(this);\n }\n\n detectChanges() {\n this._detectChanges(false);\n }\n\n checkNoChanges() {\n this._detectChanges(true);\n }\n\n _detectChanges(throwOnChange:boolean) {\n if (this.mode === DETACHED || this.mode === CHECKED) return;\n\n this.detectChangesInRecords(throwOnChange);\n this._detectChangesInChildren(throwOnChange);\n\n if (this.mode === CHECK_ONCE) this.mode = CHECKED;\n }\n\n detectChangesInRecords(throwOnChange:boolean){}\n\n _detectChangesInChildren(throwOnChange:boolean) {\n var children = this.children;\n for(var i = 0; i < children.length; ++i) {\n children[i]._detectChanges(throwOnChange);\n }\n }\n\n markPathToRootAsCheckOnce() {\n var c = this;\n while(isPresent(c) && c.mode != DETACHED) {\n if (c.mode === CHECKED) c.mode = CHECK_ONCE;\n c = c.parent;\n }\n }\n}\n","$traceurRuntime.superConstructor($__placeholder__0).call($__placeholder__1)","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/change_detection_jit_generator.js b/angular2/src/change_detection/change_detection_jit_generator.js deleted file mode 100644 index bc3e677..0000000 --- a/angular2/src/change_detection/change_detection_jit_generator.js +++ /dev/null @@ -1,379 +0,0 @@ -System.register(["angular2/src/facade/lang", "angular2/src/facade/collection", "./abstract_change_detector", "./change_detection_util", "./proto_record"], function($__export) { - "use strict"; - var isPresent, - isBlank, - BaseException, - Type, - List, - ListWrapper, - MapWrapper, - StringMapWrapper, - AbstractChangeDetector, - ChangeDetectionUtil, - ProtoRecord, - RECORD_TYPE_SELF, - RECORD_TYPE_PROPERTY, - RECORD_TYPE_LOCAL, - RECORD_TYPE_INVOKE_METHOD, - RECORD_TYPE_CONST, - RECORD_TYPE_INVOKE_CLOSURE, - RECORD_TYPE_PRIMITIVE_OP, - RECORD_TYPE_KEYED_ACCESS, - RECORD_TYPE_PIPE, - RECORD_TYPE_INTERPOLATE, - ABSTRACT_CHANGE_DETECTOR, - UTIL, - DISPATCHER_ACCESSOR, - PIPE_REGISTRY_ACCESSOR, - PROTOS_ACCESSOR, - CONTEXT_ACCESSOR, - CHANGE_LOCAL, - CHANGES_LOCAL, - LOCALS_ACCESSOR, - TEMP_LOCAL, - ChangeDetectorJITGenerator; - function typeTemplate(type, cons, detectChanges, setContext) { - return ("\n" + cons + "\n" + detectChanges + "\n" + setContext + ";\n\nreturn function(dispatcher, pipeRegistry) {\n return new " + type + "(dispatcher, pipeRegistry, protos);\n}\n"); - } - function constructorTemplate(type, fieldsDefinitions) { - return ("\nvar " + type + " = function " + type + "(dispatcher, pipeRegistry, protos) {\n" + ABSTRACT_CHANGE_DETECTOR + ".call(this);\n" + DISPATCHER_ACCESSOR + " = dispatcher;\n" + PIPE_REGISTRY_ACCESSOR + " = pipeRegistry;\n" + PROTOS_ACCESSOR + " = protos;\n" + fieldsDefinitions + "\n}\n\n" + type + ".prototype = Object.create(" + ABSTRACT_CHANGE_DETECTOR + ".prototype);\n"); - } - function pipeOnDestroyTemplate(pipeNames) { - return pipeNames.map((function(p) { - return (p + ".onDestroy()"); - })).join("\n"); - } - function hydrateTemplate(type, fieldsDefinitions, pipeOnDestroy) { - return ("\n" + type + ".prototype.hydrate = function(context, locals) {\n " + CONTEXT_ACCESSOR + " = context;\n " + LOCALS_ACCESSOR + " = locals;\n}\n" + type + ".prototype.dehydrate = function() {\n " + pipeOnDestroy + "\n " + fieldsDefinitions + "\n " + LOCALS_ACCESSOR + " = null;\n}\n" + type + ".prototype.hydrated = function() {\n return " + CONTEXT_ACCESSOR + " !== " + UTIL + ".unitialized();\n}\n"); - } - function detectChangesTemplate(type, body) { - return ("\n" + type + ".prototype.detectChangesInRecords = function(throwOnChange) {\n " + body + "\n}\n"); - } - function bodyTemplate(localDefinitions, changeDefinitions, records) { - return ("\n" + localDefinitions + "\n" + changeDefinitions + "\nvar " + TEMP_LOCAL + ";\nvar " + CHANGE_LOCAL + ";\nvar " + CHANGES_LOCAL + " = null;\n\ncontext = " + CONTEXT_ACCESSOR + ";\n" + records + "\n"); - } - function notifyTemplate(index) { - return ("\nif (" + CHANGES_LOCAL + " && " + CHANGES_LOCAL + ".length > 0) {\n if(throwOnChange) " + UTIL + ".throwOnChange(" + PROTOS_ACCESSOR + "[" + index + "], " + CHANGES_LOCAL + "[0]);\n " + DISPATCHER_ACCESSOR + ".onRecordChange(" + PROTOS_ACCESSOR + "[" + index + "].directiveMemento, " + CHANGES_LOCAL + ");\n " + CHANGES_LOCAL + " = null;\n}\n"); - } - function pipeCheckTemplate(context, pipe, pipeType, value, change, addRecord, notify) { - return ("\nif (" + pipe + " === " + UTIL + ".unitialized()) {\n " + pipe + " = " + PIPE_REGISTRY_ACCESSOR + ".get('" + pipeType + "', " + context + ");\n} else if (!" + pipe + ".supports(" + context + ")) {\n " + pipe + ".onDestroy();\n " + pipe + " = " + PIPE_REGISTRY_ACCESSOR + ".get('" + pipeType + "', " + context + ");\n}\n\n" + CHANGE_LOCAL + " = " + pipe + ".transform(" + context + ");\nif (! " + UTIL + ".noChangeMarker(" + CHANGE_LOCAL + ")) {\n " + value + " = " + CHANGE_LOCAL + ";\n " + change + " = true;\n " + addRecord + "\n}\n" + notify + "\n"); - } - function referenceCheckTemplate(assignment, newValue, oldValue, change, addRecord, notify) { - return ("\n" + assignment + "\nif (" + newValue + " !== " + oldValue + " || (" + newValue + " !== " + newValue + ") && (" + oldValue + " !== " + oldValue + ")) {\n " + change + " = true;\n " + addRecord + "\n " + oldValue + " = " + newValue + ";\n}\n" + notify + "\n"); - } - function assignmentTemplate(field, value) { - return (field + " = " + value + ";"); - } - function localDefinitionsTemplate(names) { - return names.map((function(n) { - return ("var " + n + ";"); - })).join("\n"); - } - function changeDefinitionsTemplate(names) { - return names.map((function(n) { - return ("var " + n + " = false;"); - })).join("\n"); - } - function fieldDefinitionsTemplate(names) { - return names.map((function(n) { - return (n + " = " + UTIL + ".unitialized();"); - })).join("\n"); - } - function ifChangedGuardTemplate(changeNames, body) { - var cond = changeNames.join(" || "); - return ("\nif (" + cond + ") {\n " + body + "\n}\n"); - } - function addSimpleChangeRecordTemplate(protoIndex, oldValue, newValue) { - return (CHANGES_LOCAL + " = " + UTIL + ".addRecord(" + CHANGES_LOCAL + ",\n " + UTIL + ".simpleChangeRecord(" + PROTOS_ACCESSOR + "[" + protoIndex + "].bindingMemento, " + oldValue + ", " + newValue + "));"); - } - return { - setters: [function($__m) { - isPresent = $__m.isPresent; - isBlank = $__m.isBlank; - BaseException = $__m.BaseException; - Type = $__m.Type; - }, function($__m) { - List = $__m.List; - ListWrapper = $__m.ListWrapper; - MapWrapper = $__m.MapWrapper; - StringMapWrapper = $__m.StringMapWrapper; - }, function($__m) { - AbstractChangeDetector = $__m.AbstractChangeDetector; - }, function($__m) { - ChangeDetectionUtil = $__m.ChangeDetectionUtil; - }, function($__m) { - ProtoRecord = $__m.ProtoRecord; - RECORD_TYPE_SELF = $__m.RECORD_TYPE_SELF; - RECORD_TYPE_PROPERTY = $__m.RECORD_TYPE_PROPERTY; - RECORD_TYPE_LOCAL = $__m.RECORD_TYPE_LOCAL; - RECORD_TYPE_INVOKE_METHOD = $__m.RECORD_TYPE_INVOKE_METHOD; - RECORD_TYPE_CONST = $__m.RECORD_TYPE_CONST; - RECORD_TYPE_INVOKE_CLOSURE = $__m.RECORD_TYPE_INVOKE_CLOSURE; - RECORD_TYPE_PRIMITIVE_OP = $__m.RECORD_TYPE_PRIMITIVE_OP; - RECORD_TYPE_KEYED_ACCESS = $__m.RECORD_TYPE_KEYED_ACCESS; - RECORD_TYPE_PIPE = $__m.RECORD_TYPE_PIPE; - RECORD_TYPE_INTERPOLATE = $__m.RECORD_TYPE_INTERPOLATE; - }], - execute: function() { - ABSTRACT_CHANGE_DETECTOR = "AbstractChangeDetector"; - UTIL = "ChangeDetectionUtil"; - DISPATCHER_ACCESSOR = "this.dispatcher"; - PIPE_REGISTRY_ACCESSOR = "this.pipeRegistry"; - PROTOS_ACCESSOR = "this.protos"; - CONTEXT_ACCESSOR = "this.context"; - CHANGE_LOCAL = "change"; - CHANGES_LOCAL = "changes"; - LOCALS_ACCESSOR = "this.locals"; - TEMP_LOCAL = "temp"; - Object.defineProperty(typeTemplate, "parameters", {get: function() { - return [[assert.type.string], [assert.type.string], [assert.type.string], [assert.type.string]]; - }}); - Object.defineProperty(constructorTemplate, "parameters", {get: function() { - return [[assert.type.string], [assert.type.string]]; - }}); - Object.defineProperty(pipeOnDestroyTemplate, "parameters", {get: function() { - return [[List]]; - }}); - Object.defineProperty(hydrateTemplate, "parameters", {get: function() { - return [[assert.type.string], [assert.type.string], [assert.type.string]]; - }}); - Object.defineProperty(detectChangesTemplate, "parameters", {get: function() { - return [[assert.type.string], [assert.type.string]]; - }}); - Object.defineProperty(bodyTemplate, "parameters", {get: function() { - return [[assert.type.string], [assert.type.string], [assert.type.string]]; - }}); - Object.defineProperty(notifyTemplate, "parameters", {get: function() { - return [[assert.type.number]]; - }}); - Object.defineProperty(pipeCheckTemplate, "parameters", {get: function() { - return [[assert.type.string], [assert.type.string], [assert.type.string], [assert.type.string], [assert.type.string], [assert.type.string], [assert.type.string]]; - }}); - Object.defineProperty(assignmentTemplate, "parameters", {get: function() { - return [[assert.type.string], [assert.type.string]]; - }}); - Object.defineProperty(localDefinitionsTemplate, "parameters", {get: function() { - return [[List]]; - }}); - Object.defineProperty(changeDefinitionsTemplate, "parameters", {get: function() { - return [[List]]; - }}); - Object.defineProperty(fieldDefinitionsTemplate, "parameters", {get: function() { - return [[List]]; - }}); - Object.defineProperty(ifChangedGuardTemplate, "parameters", {get: function() { - return [[List], [assert.type.string]]; - }}); - Object.defineProperty(addSimpleChangeRecordTemplate, "parameters", {get: function() { - return [[assert.type.number], [assert.type.string], [assert.type.string]]; - }}); - ChangeDetectorJITGenerator = $__export("ChangeDetectorJITGenerator", (function() { - var ChangeDetectorJITGenerator = function ChangeDetectorJITGenerator(typeName, records) { - this.typeName = typeName; - this.records = records; - this.localNames = this.getLocalNames(records); - this.changeNames = this.getChangeNames(this.localNames); - this.fieldNames = this.getFieldNames(this.localNames); - this.pipeNames = this.getPipeNames(this.localNames); - }; - return ($traceurRuntime.createClass)(ChangeDetectorJITGenerator, { - getLocalNames: function(records) { - var index = 0; - var names = records.map((function(r) { - var sanitizedName = r.name.replace(new RegExp("\\W", "g"), ''); - return ("" + sanitizedName + index++); - })); - return ["context"].concat(names); - }, - getChangeNames: function(localNames) { - return localNames.map((function(n) { - return ("change_" + n); - })); - }, - getFieldNames: function(localNames) { - return localNames.map((function(n) { - return ("this." + n); - })); - }, - getPipeNames: function(localNames) { - return localNames.map((function(n) { - return ("this." + n + "_pipe"); - })); - }, - generate: function() { - var text = typeTemplate(this.typeName, this.genConstructor(), this.genDetectChanges(), this.genHydrate()); - return new Function('AbstractChangeDetector', 'ChangeDetectionUtil', 'protos', text)(AbstractChangeDetector, ChangeDetectionUtil, this.records); - }, - genConstructor: function() { - return constructorTemplate(this.typeName, this.genFieldDefinitions()); - }, - genHydrate: function() { - return hydrateTemplate(this.typeName, this.genFieldDefinitions(), pipeOnDestroyTemplate(this.getnonNullPipeNames())); - }, - genFieldDefinitions: function() { - var fields = []; - fields = fields.concat(this.fieldNames); - fields = fields.concat(this.getnonNullPipeNames()); - return fieldDefinitionsTemplate(fields); - }, - getnonNullPipeNames: function() { - var $__0 = this; - var pipes = []; - this.records.forEach((function(r) { - if (r.mode === RECORD_TYPE_PIPE) { - pipes.push($__0.pipeNames[r.selfIndex]); - } - })); - return pipes; - }, - genDetectChanges: function() { - var body = this.genBody(); - return detectChangesTemplate(this.typeName, body); - }, - genBody: function() { - var $__0 = this; - var rec = this.records.map((function(r) { - return $__0.genRecord(r); - })).join("\n"); - return bodyTemplate(this.genLocalDefinitions(), this.genChangeDefinitions(), rec); - }, - genLocalDefinitions: function() { - return localDefinitionsTemplate(this.localNames); - }, - genChangeDefinitions: function() { - return changeDefinitionsTemplate(this.changeNames); - }, - genRecord: function(r) { - if (r.mode === RECORD_TYPE_PIPE) { - return this.genPipeCheck(r); - } else { - return this.genReferenceCheck(r); - } - }, - genPipeCheck: function(r) { - var context = this.localNames[r.contextIndex]; - var pipe = this.pipeNames[r.selfIndex]; - var newValue = this.localNames[r.selfIndex]; - var oldValue = this.fieldNames[r.selfIndex]; - var change = this.changeNames[r.selfIndex]; - var addRecord = addSimpleChangeRecordTemplate(r.selfIndex - 1, oldValue, newValue); - var notify = this.genNotify(r); - return pipeCheckTemplate(context, pipe, r.name, newValue, change, addRecord, notify); - }, - genReferenceCheck: function(r) { - var newValue = this.localNames[r.selfIndex]; - var oldValue = this.fieldNames[r.selfIndex]; - var change = this.changeNames[r.selfIndex]; - var assignment = this.genUpdateCurrentValue(r); - var addRecord = addSimpleChangeRecordTemplate(r.selfIndex - 1, oldValue, newValue); - var notify = this.genNotify(r); - var check = referenceCheckTemplate(assignment, newValue, oldValue, change, r.lastInBinding ? addRecord : '', notify); - ; - if (r.isPureFunction()) { - return this.ifChangedGuard(r, check); - } else { - return check; - } - }, - genUpdateCurrentValue: function(r) { - var context = this.localNames[r.contextIndex]; - var newValue = this.localNames[r.selfIndex]; - var args = this.genArgs(r); - switch (r.mode) { - case RECORD_TYPE_SELF: - return assignmentTemplate(newValue, context); - case RECORD_TYPE_CONST: - return (newValue + " = " + this.genLiteral(r.funcOrValue)); - case RECORD_TYPE_PROPERTY: - return assignmentTemplate(newValue, (context + "." + r.name)); - case RECORD_TYPE_LOCAL: - return assignmentTemplate(newValue, (LOCALS_ACCESSOR + ".get('" + r.name + "')")); - case RECORD_TYPE_INVOKE_METHOD: - return assignmentTemplate(newValue, (context + "." + r.name + "(" + args + ")")); - case RECORD_TYPE_INVOKE_CLOSURE: - return assignmentTemplate(newValue, (context + "(" + args + ")")); - case RECORD_TYPE_PRIMITIVE_OP: - return assignmentTemplate(newValue, (UTIL + "." + r.name + "(" + args + ")")); - case RECORD_TYPE_INTERPOLATE: - return assignmentTemplate(newValue, this.genInterpolation(r)); - case RECORD_TYPE_KEYED_ACCESS: - var key = this.localNames[r.args[0]]; - return assignmentTemplate(newValue, (context + "[" + key + "]")); - default: - throw new BaseException(("Unknown operation " + r.mode)); - } - }, - ifChangedGuard: function(r, body) { - var $__0 = this; - return ifChangedGuardTemplate(r.args.map((function(a) { - return $__0.changeNames[a]; - })), body); - }, - genInterpolation: function(r) { - var res = ""; - for (var i = 0; i < r.args.length; ++i) { - res += this.genLiteral(r.fixedArgs[i]); - res += " + "; - res += this.localNames[r.args[i]]; - res += " + "; - } - res += this.genLiteral(r.fixedArgs[r.args.length]); - return res; - }, - genLiteral: function(value) { - return JSON.stringify(value); - }, - genNotify: function(r) { - return r.lastInDirective ? notifyTemplate(r.selfIndex - 1) : ''; - }, - genArgs: function(r) { - var $__0 = this; - return r.args.map((function(arg) { - return $__0.localNames[arg]; - })).join(", "); - } - }, {}); - }())); - Object.defineProperty(ChangeDetectorJITGenerator, "parameters", {get: function() { - return [[assert.type.string], [assert.genericType(List, ProtoRecord)]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.getLocalNames, "parameters", {get: function() { - return [[assert.genericType(List, ProtoRecord)]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.getChangeNames, "parameters", {get: function() { - return [[assert.genericType(List, String)]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.getFieldNames, "parameters", {get: function() { - return [[assert.genericType(List, String)]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.getPipeNames, "parameters", {get: function() { - return [[assert.genericType(List, String)]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.genRecord, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.genPipeCheck, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.genReferenceCheck, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.genUpdateCurrentValue, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.ifChangedGuard, "parameters", {get: function() { - return [[ProtoRecord], [assert.type.string]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.genInterpolation, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(ChangeDetectorJITGenerator.prototype.genArgs, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/change_detection_jit_generator.map - -//# sourceMappingURL=../../src/change_detection/change_detection_jit_generator.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/change_detection_jit_generator.js.map b/angular2/src/change_detection/change_detection_jit_generator.js.map deleted file mode 100644 index f54977d..0000000 --- a/angular2/src/change_detection/change_detection_jit_generator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","src/change_detection/change_detection_jit_generator.es6","src/change_detection/@traceur/generated/TemplateParser/24","src/change_detection/@traceur/generated/TemplateParser/23","src/change_detection/change_detection_jit_generator.js","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/@traceur/generated/TemplateParser/37"],"names":[],"mappings":"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","file":"src/change_detection/change_detection_jit_generator.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","import {isPresent, isBlank, BaseException, Type} from 'angular2/src/facade/lang';\nimport {List, ListWrapper, MapWrapper, StringMapWrapper} from 'angular2/src/facade/collection';\n\nimport {AbstractChangeDetector} from './abstract_change_detector';\nimport {ChangeDetectionUtil} from './change_detection_util';\n\nimport {\n ProtoRecord,\n RECORD_TYPE_SELF,\n RECORD_TYPE_PROPERTY,\n RECORD_TYPE_LOCAL,\n RECORD_TYPE_INVOKE_METHOD,\n RECORD_TYPE_CONST,\n RECORD_TYPE_INVOKE_CLOSURE,\n RECORD_TYPE_PRIMITIVE_OP,\n RECORD_TYPE_KEYED_ACCESS,\n RECORD_TYPE_PIPE,\n RECORD_TYPE_INTERPOLATE\n } from './proto_record';\n\n/**\n * The code generator takes a list of proto records and creates a function/class\n * that \"emulates\" what the developer would write by hand to implement the same\n * kind of behaviour.\n *\n * For example: An expression `address.city` will result in the following class:\n *\n * var ChangeDetector0 = function ChangeDetector0(dispatcher, protos) {\n * AbstractChangeDetector.call(this);\n * this.dispatcher = dispatcher;\n * this.protos = protos;\n *\n * this.context = ChangeDetectionUtil.unitialized();\n * this.address0 = ChangeDetectionUtil.unitialized();\n * this.city1 = ChangeDetectionUtil.unitialized();\n * }\n * ChangeDetector0.prototype = Object.create(AbstractChangeDetector.prototype);\n *\n * ChangeDetector0.prototype.detectChangesInRecords = function(throwOnChange) {\n * var address0;\n * var city1;\n * var change;\n * var changes = null;\n * var temp;\n * var context = this.context;\n *\n * address0 = context.address;\n * if (address0 !== this.address0) {\n * this.address0 = address0;\n * }\n *\n * city1 = address0.city;\n * if (city1 !== this.city1) {\n * changes = ChangeDetectionUtil.addRecord(changes,\n * ChangeDetectionUtil.simpleChangeRecord(this.protos[1].bindingMemento, this.city1, city1));\n * this.city1 = city1;\n * }\n *\n * if (changes.length > 0) {\n * if(throwOnChange) ChangeDetectionUtil.throwOnChange(this.protos[1], changes[0]);\n * this.dispatcher.onRecordChange('address.city', changes);\n * changes = null;\n * }\n * }\n *\n *\n * ChangeDetector0.prototype.hydrate = function(context, locals) {\n * this.context = context;\n * this.locals = locals;\n * }\n *\n * ChangeDetector0.prototype.dehydrate = function(context) {\n * this.context = ChangeDetectionUtil.unitialized();\n * this.address0 = ChangeDetectionUtil.unitialized();\n * this.city1 = ChangeDetectionUtil.unitialized();\n * this.locals = null;\n * }\n *\n * ChangeDetector0.prototype.hydrated = function() {\n * return this.context !== ChangeDetectionUtil.unitialized();\n * }\n *\n * return ChangeDetector0;\n *\n *\n * The only thing the generated class depends on is the super class AbstractChangeDetector.\n *\n * The implementation comprises two parts:\n * * ChangeDetectorJITGenerator has the logic of how everything fits together.\n * * template functions (e.g., constructorTemplate) define what code is generated.\n*/\n\nvar ABSTRACT_CHANGE_DETECTOR = \"AbstractChangeDetector\";\nvar UTIL = \"ChangeDetectionUtil\";\nvar DISPATCHER_ACCESSOR = \"this.dispatcher\";\nvar PIPE_REGISTRY_ACCESSOR = \"this.pipeRegistry\";\nvar PROTOS_ACCESSOR = \"this.protos\";\nvar CONTEXT_ACCESSOR = \"this.context\";\nvar CHANGE_LOCAL = \"change\";\nvar CHANGES_LOCAL = \"changes\";\nvar LOCALS_ACCESSOR = \"this.locals\";\nvar TEMP_LOCAL = \"temp\";\n\nfunction typeTemplate(type:string, cons:string, detectChanges:string, setContext:string):string {\n return `\n${cons}\n${detectChanges}\n${setContext};\n\nreturn function(dispatcher, pipeRegistry) {\n return new ${type}(dispatcher, pipeRegistry, protos);\n}\n`;\n}\n\nfunction constructorTemplate(type:string, fieldsDefinitions:string):string {\n return `\nvar ${type} = function ${type}(dispatcher, pipeRegistry, protos) {\n${ABSTRACT_CHANGE_DETECTOR}.call(this);\n${DISPATCHER_ACCESSOR} = dispatcher;\n${PIPE_REGISTRY_ACCESSOR} = pipeRegistry;\n${PROTOS_ACCESSOR} = protos;\n${fieldsDefinitions}\n}\n\n${type}.prototype = Object.create(${ABSTRACT_CHANGE_DETECTOR}.prototype);\n`;\n}\n\nfunction pipeOnDestroyTemplate(pipeNames:List) {\n return pipeNames.map((p) => `${p}.onDestroy()`).join(\"\\n\");\n}\n\nfunction hydrateTemplate(type:string, fieldsDefinitions:string, pipeOnDestroy:string):string {\n return `\n${type}.prototype.hydrate = function(context, locals) {\n ${CONTEXT_ACCESSOR} = context;\n ${LOCALS_ACCESSOR} = locals;\n}\n${type}.prototype.dehydrate = function() {\n ${pipeOnDestroy}\n ${fieldsDefinitions}\n ${LOCALS_ACCESSOR} = null;\n}\n${type}.prototype.hydrated = function() {\n return ${CONTEXT_ACCESSOR} !== ${UTIL}.unitialized();\n}\n`;\n}\n\nfunction detectChangesTemplate(type:string, body:string):string {\n return `\n${type}.prototype.detectChangesInRecords = function(throwOnChange) {\n ${body}\n}\n`;\n}\n\n\nfunction bodyTemplate(localDefinitions:string, changeDefinitions:string, records:string):string {\n return `\n${localDefinitions}\n${changeDefinitions}\nvar ${TEMP_LOCAL};\nvar ${CHANGE_LOCAL};\nvar ${CHANGES_LOCAL} = null;\n\ncontext = ${CONTEXT_ACCESSOR};\n${records}\n`;\n}\n\nfunction notifyTemplate(index:number):string{\n return `\nif (${CHANGES_LOCAL} && ${CHANGES_LOCAL}.length > 0) {\n if(throwOnChange) ${UTIL}.throwOnChange(${PROTOS_ACCESSOR}[${index}], ${CHANGES_LOCAL}[0]);\n ${DISPATCHER_ACCESSOR}.onRecordChange(${PROTOS_ACCESSOR}[${index}].directiveMemento, ${CHANGES_LOCAL});\n ${CHANGES_LOCAL} = null;\n}\n`;\n}\n\nfunction pipeCheckTemplate(context:string, pipe:string, pipeType:string,\n value:string, change:string, addRecord:string, notify:string):string{\n return `\nif (${pipe} === ${UTIL}.unitialized()) {\n ${pipe} = ${PIPE_REGISTRY_ACCESSOR}.get('${pipeType}', ${context});\n} else if (!${pipe}.supports(${context})) {\n ${pipe}.onDestroy();\n ${pipe} = ${PIPE_REGISTRY_ACCESSOR}.get('${pipeType}', ${context});\n}\n\n${CHANGE_LOCAL} = ${pipe}.transform(${context});\nif (! ${UTIL}.noChangeMarker(${CHANGE_LOCAL})) {\n ${value} = ${CHANGE_LOCAL};\n ${change} = true;\n ${addRecord}\n}\n${notify}\n`;\n}\n\nfunction referenceCheckTemplate(assignment, newValue, oldValue, change, addRecord, notify) {\n return `\n${assignment}\nif (${newValue} !== ${oldValue} || (${newValue} !== ${newValue}) && (${oldValue} !== ${oldValue})) {\n ${change} = true;\n ${addRecord}\n ${oldValue} = ${newValue};\n}\n${notify}\n`;\n}\n\nfunction assignmentTemplate(field:string, value:string) {\n return `${field} = ${value};`;\n}\n\nfunction localDefinitionsTemplate(names:List):string {\n return names.map((n) => `var ${n};`).join(\"\\n\");\n}\n\nfunction changeDefinitionsTemplate(names:List):string {\n return names.map((n) => `var ${n} = false;`).join(\"\\n\");\n}\n\nfunction fieldDefinitionsTemplate(names:List):string {\n return names.map((n) => `${n} = ${UTIL}.unitialized();`).join(\"\\n\");\n}\n\nfunction ifChangedGuardTemplate(changeNames:List, body:string):string {\n var cond = changeNames.join(\" || \");\n return `\nif (${cond}) {\n ${body}\n}\n`;\n}\n\nfunction addSimpleChangeRecordTemplate(protoIndex:number, oldValue:string, newValue:string) {\n return `${CHANGES_LOCAL} = ${UTIL}.addRecord(${CHANGES_LOCAL},\n ${UTIL}.simpleChangeRecord(${PROTOS_ACCESSOR}[${protoIndex}].bindingMemento, ${oldValue}, ${newValue}));`;\n}\n\n\nexport class ChangeDetectorJITGenerator {\n typeName:string;\n records:List;\n localNames:List;\n changeNames:List;\n fieldNames:List;\n pipeNames:List;\n\n constructor(typeName:string, records:List) {\n this.typeName = typeName;\n this.records = records;\n\n this.localNames = this.getLocalNames(records);\n this.changeNames = this.getChangeNames(this.localNames);\n this.fieldNames = this.getFieldNames(this.localNames);\n this.pipeNames = this.getPipeNames(this.localNames);\n }\n\n getLocalNames(records:List):List {\n var index = 0;\n var names = records.map((r) => {\n var sanitizedName = r.name.replace(new RegExp(\"\\\\W\", \"g\"), '');\n return `${sanitizedName}${index++}`\n });\n return [\"context\"].concat(names);\n }\n\n getChangeNames(localNames:List):List {\n return localNames.map((n) => `change_${n}`);\n }\n\n getFieldNames(localNames:List):List {\n return localNames.map((n) => `this.${n}`);\n }\n\n getPipeNames(localNames:List):List {\n return localNames.map((n) => `this.${n}_pipe`);\n }\n\n generate():Function {\n var text = typeTemplate(this.typeName, this.genConstructor(), this.genDetectChanges(), this.genHydrate());\n return new Function('AbstractChangeDetector', 'ChangeDetectionUtil', 'protos', text)(AbstractChangeDetector, ChangeDetectionUtil, this.records);\n }\n\n genConstructor():string {\n return constructorTemplate(this.typeName, this.genFieldDefinitions());\n }\n\n genHydrate():string {\n return hydrateTemplate(this.typeName, this.genFieldDefinitions(),\n pipeOnDestroyTemplate(this.getnonNullPipeNames()));\n }\n\n genFieldDefinitions() {\n var fields = [];\n fields = fields.concat(this.fieldNames);\n fields = fields.concat(this.getnonNullPipeNames());\n return fieldDefinitionsTemplate(fields);\n }\n\n getnonNullPipeNames():List {\n var pipes = [];\n this.records.forEach((r) => {\n if (r.mode === RECORD_TYPE_PIPE) {\n pipes.push(this.pipeNames[r.selfIndex]);\n }\n });\n return pipes;\n }\n\n genDetectChanges():string {\n var body = this.genBody();\n return detectChangesTemplate(this.typeName, body);\n }\n\n genBody():string {\n var rec = this.records.map((r) => this.genRecord(r)).join(\"\\n\");\n return bodyTemplate(this.genLocalDefinitions(), this.genChangeDefinitions(), rec);\n }\n\n genLocalDefinitions():string {\n return localDefinitionsTemplate(this.localNames);\n }\n\n genChangeDefinitions():string {\n return changeDefinitionsTemplate(this.changeNames);\n }\n\n genRecord(r:ProtoRecord):string {\n if (r.mode === RECORD_TYPE_PIPE) {\n return this.genPipeCheck (r);\n } else {\n return this.genReferenceCheck(r);\n }\n }\n\n genPipeCheck(r:ProtoRecord):string {\n var context = this.localNames[r.contextIndex];\n var pipe = this.pipeNames[r.selfIndex];\n var newValue = this.localNames[r.selfIndex];\n var oldValue = this.fieldNames[r.selfIndex];\n var change = this.changeNames[r.selfIndex];\n\n var addRecord = addSimpleChangeRecordTemplate(r.selfIndex - 1, oldValue, newValue);\n var notify = this.genNotify(r);\n\n return pipeCheckTemplate(context, pipe, r.name, newValue, change, addRecord, notify);\n }\n\n genReferenceCheck(r:ProtoRecord):string {\n var newValue = this.localNames[r.selfIndex];\n var oldValue = this.fieldNames[r.selfIndex];\n var change = this.changeNames[r.selfIndex];\n var assignment = this.genUpdateCurrentValue(r);\n var addRecord = addSimpleChangeRecordTemplate(r.selfIndex - 1, oldValue, newValue);\n var notify = this.genNotify(r);\n\n var check = referenceCheckTemplate(assignment, newValue, oldValue, change, r.lastInBinding ? addRecord : '', notify);;\n if (r.isPureFunction()) {\n return this.ifChangedGuard(r, check);\n } else {\n return check;\n }\n }\n\n genUpdateCurrentValue(r:ProtoRecord):string {\n var context = this.localNames[r.contextIndex];\n var newValue = this.localNames[r.selfIndex];\n var args = this.genArgs(r);\n\n switch (r.mode) {\n case RECORD_TYPE_SELF:\n return assignmentTemplate(newValue, context);\n\n case RECORD_TYPE_CONST:\n return `${newValue} = ${this.genLiteral(r.funcOrValue)}`;\n\n case RECORD_TYPE_PROPERTY:\n return assignmentTemplate(newValue, `${context}.${r.name}`);\n\n case RECORD_TYPE_LOCAL:\n return assignmentTemplate(newValue, `${LOCALS_ACCESSOR}.get('${r.name}')`);\n\n case RECORD_TYPE_INVOKE_METHOD:\n return assignmentTemplate(newValue, `${context}.${r.name}(${args})`);\n\n case RECORD_TYPE_INVOKE_CLOSURE:\n return assignmentTemplate(newValue, `${context}(${args})`);\n\n case RECORD_TYPE_PRIMITIVE_OP:\n return assignmentTemplate(newValue, `${UTIL}.${r.name}(${args})`);\n\n case RECORD_TYPE_INTERPOLATE:\n return assignmentTemplate(newValue, this.genInterpolation(r));\n\n case RECORD_TYPE_KEYED_ACCESS:\n var key = this.localNames[r.args[0]];\n return assignmentTemplate(newValue, `${context}[${key}]`);\n\n default:\n throw new BaseException(`Unknown operation ${r.mode}`);\n }\n }\n\n ifChangedGuard(r:ProtoRecord, body:string):string {\n return ifChangedGuardTemplate(r.args.map((a) => this.changeNames[a]), body);\n }\n\n genInterpolation(r:ProtoRecord):string{\n var res = \"\";\n for (var i = 0; i < r.args.length; ++i) {\n res += this.genLiteral(r.fixedArgs[i]);\n res += \" + \";\n res += this.localNames[r.args[i]];\n res += \" + \";\n }\n res += this.genLiteral(r.fixedArgs[r.args.length]);\n return res;\n }\n\n genLiteral(value):string {\n return JSON.stringify(value);\n }\n\n genNotify(r):string{\n return r.lastInDirective ? notifyTemplate(r.selfIndex - 1) : '';\n }\n\n genArgs(r:ProtoRecord):string {\n return r.args.map((arg) => this.localNames[arg]).join(\", \");\n }\n}\n\n\n\n\n","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)","import {isPresent,\n isBlank,\n BaseException,\n Type} from 'angular2/src/facade/lang';\nimport {List,\n ListWrapper,\n MapWrapper,\n StringMapWrapper} from 'angular2/src/facade/collection';\nimport {AbstractChangeDetector} from './abstract_change_detector';\nimport {ChangeDetectionUtil} from './change_detection_util';\nimport {ProtoRecord,\n RECORD_TYPE_SELF,\n RECORD_TYPE_PROPERTY,\n RECORD_TYPE_LOCAL,\n RECORD_TYPE_INVOKE_METHOD,\n RECORD_TYPE_CONST,\n RECORD_TYPE_INVOKE_CLOSURE,\n RECORD_TYPE_PRIMITIVE_OP,\n RECORD_TYPE_KEYED_ACCESS,\n RECORD_TYPE_PIPE,\n RECORD_TYPE_INTERPOLATE} from './proto_record';\nvar ABSTRACT_CHANGE_DETECTOR = \"AbstractChangeDetector\";\nvar UTIL = \"ChangeDetectionUtil\";\nvar DISPATCHER_ACCESSOR = \"this.dispatcher\";\nvar PIPE_REGISTRY_ACCESSOR = \"this.pipeRegistry\";\nvar PROTOS_ACCESSOR = \"this.protos\";\nvar CONTEXT_ACCESSOR = \"this.context\";\nvar CHANGE_LOCAL = \"change\";\nvar CHANGES_LOCAL = \"changes\";\nvar LOCALS_ACCESSOR = \"this.locals\";\nvar TEMP_LOCAL = \"temp\";\nfunction typeTemplate(type, cons, detectChanges, setContext) {\n return `\n${cons}\n${detectChanges}\n${setContext};\n\nreturn function(dispatcher, pipeRegistry) {\n return new ${type}(dispatcher, pipeRegistry, protos);\n}\n`;\n}\nObject.defineProperty(typeTemplate, \"parameters\", {get: function() {\n return [[assert.type.string], [assert.type.string], [assert.type.string], [assert.type.string]];\n }});\nfunction constructorTemplate(type, fieldsDefinitions) {\n return `\nvar ${type} = function ${type}(dispatcher, pipeRegistry, protos) {\n${ABSTRACT_CHANGE_DETECTOR}.call(this);\n${DISPATCHER_ACCESSOR} = dispatcher;\n${PIPE_REGISTRY_ACCESSOR} = pipeRegistry;\n${PROTOS_ACCESSOR} = protos;\n${fieldsDefinitions}\n}\n\n${type}.prototype = Object.create(${ABSTRACT_CHANGE_DETECTOR}.prototype);\n`;\n}\nObject.defineProperty(constructorTemplate, \"parameters\", {get: function() {\n return [[assert.type.string], [assert.type.string]];\n }});\nfunction pipeOnDestroyTemplate(pipeNames) {\n return pipeNames.map((p) => `${p}.onDestroy()`).join(\"\\n\");\n}\nObject.defineProperty(pipeOnDestroyTemplate, \"parameters\", {get: function() {\n return [[List]];\n }});\nfunction hydrateTemplate(type, fieldsDefinitions, pipeOnDestroy) {\n return `\n${type}.prototype.hydrate = function(context, locals) {\n ${CONTEXT_ACCESSOR} = context;\n ${LOCALS_ACCESSOR} = locals;\n}\n${type}.prototype.dehydrate = function() {\n ${pipeOnDestroy}\n ${fieldsDefinitions}\n ${LOCALS_ACCESSOR} = null;\n}\n${type}.prototype.hydrated = function() {\n return ${CONTEXT_ACCESSOR} !== ${UTIL}.unitialized();\n}\n`;\n}\nObject.defineProperty(hydrateTemplate, \"parameters\", {get: function() {\n return [[assert.type.string], [assert.type.string], [assert.type.string]];\n }});\nfunction detectChangesTemplate(type, body) {\n return `\n${type}.prototype.detectChangesInRecords = function(throwOnChange) {\n ${body}\n}\n`;\n}\nObject.defineProperty(detectChangesTemplate, \"parameters\", {get: function() {\n return [[assert.type.string], [assert.type.string]];\n }});\nfunction bodyTemplate(localDefinitions, changeDefinitions, records) {\n return `\n${localDefinitions}\n${changeDefinitions}\nvar ${TEMP_LOCAL};\nvar ${CHANGE_LOCAL};\nvar ${CHANGES_LOCAL} = null;\n\ncontext = ${CONTEXT_ACCESSOR};\n${records}\n`;\n}\nObject.defineProperty(bodyTemplate, \"parameters\", {get: function() {\n return [[assert.type.string], [assert.type.string], [assert.type.string]];\n }});\nfunction notifyTemplate(index) {\n return `\nif (${CHANGES_LOCAL} && ${CHANGES_LOCAL}.length > 0) {\n if(throwOnChange) ${UTIL}.throwOnChange(${PROTOS_ACCESSOR}[${index}], ${CHANGES_LOCAL}[0]);\n ${DISPATCHER_ACCESSOR}.onRecordChange(${PROTOS_ACCESSOR}[${index}].directiveMemento, ${CHANGES_LOCAL});\n ${CHANGES_LOCAL} = null;\n}\n`;\n}\nObject.defineProperty(notifyTemplate, \"parameters\", {get: function() {\n return [[assert.type.number]];\n }});\nfunction pipeCheckTemplate(context, pipe, pipeType, value, change, addRecord, notify) {\n return `\nif (${pipe} === ${UTIL}.unitialized()) {\n ${pipe} = ${PIPE_REGISTRY_ACCESSOR}.get('${pipeType}', ${context});\n} else if (!${pipe}.supports(${context})) {\n ${pipe}.onDestroy();\n ${pipe} = ${PIPE_REGISTRY_ACCESSOR}.get('${pipeType}', ${context});\n}\n\n${CHANGE_LOCAL} = ${pipe}.transform(${context});\nif (! ${UTIL}.noChangeMarker(${CHANGE_LOCAL})) {\n ${value} = ${CHANGE_LOCAL};\n ${change} = true;\n ${addRecord}\n}\n${notify}\n`;\n}\nObject.defineProperty(pipeCheckTemplate, \"parameters\", {get: function() {\n return [[assert.type.string], [assert.type.string], [assert.type.string], [assert.type.string], [assert.type.string], [assert.type.string], [assert.type.string]];\n }});\nfunction referenceCheckTemplate(assignment, newValue, oldValue, change, addRecord, notify) {\n return `\n${assignment}\nif (${newValue} !== ${oldValue} || (${newValue} !== ${newValue}) && (${oldValue} !== ${oldValue})) {\n ${change} = true;\n ${addRecord}\n ${oldValue} = ${newValue};\n}\n${notify}\n`;\n}\nfunction assignmentTemplate(field, value) {\n return `${field} = ${value};`;\n}\nObject.defineProperty(assignmentTemplate, \"parameters\", {get: function() {\n return [[assert.type.string], [assert.type.string]];\n }});\nfunction localDefinitionsTemplate(names) {\n return names.map((n) => `var ${n};`).join(\"\\n\");\n}\nObject.defineProperty(localDefinitionsTemplate, \"parameters\", {get: function() {\n return [[List]];\n }});\nfunction changeDefinitionsTemplate(names) {\n return names.map((n) => `var ${n} = false;`).join(\"\\n\");\n}\nObject.defineProperty(changeDefinitionsTemplate, \"parameters\", {get: function() {\n return [[List]];\n }});\nfunction fieldDefinitionsTemplate(names) {\n return names.map((n) => `${n} = ${UTIL}.unitialized();`).join(\"\\n\");\n}\nObject.defineProperty(fieldDefinitionsTemplate, \"parameters\", {get: function() {\n return [[List]];\n }});\nfunction ifChangedGuardTemplate(changeNames, body) {\n var cond = changeNames.join(\" || \");\n return `\nif (${cond}) {\n ${body}\n}\n`;\n}\nObject.defineProperty(ifChangedGuardTemplate, \"parameters\", {get: function() {\n return [[List], [assert.type.string]];\n }});\nfunction addSimpleChangeRecordTemplate(protoIndex, oldValue, newValue) {\n return `${CHANGES_LOCAL} = ${UTIL}.addRecord(${CHANGES_LOCAL},\n ${UTIL}.simpleChangeRecord(${PROTOS_ACCESSOR}[${protoIndex}].bindingMemento, ${oldValue}, ${newValue}));`;\n}\nObject.defineProperty(addSimpleChangeRecordTemplate, \"parameters\", {get: function() {\n return [[assert.type.number], [assert.type.string], [assert.type.string]];\n }});\nexport class ChangeDetectorJITGenerator {\n constructor(typeName, records) {\n this.typeName = typeName;\n this.records = records;\n this.localNames = this.getLocalNames(records);\n this.changeNames = this.getChangeNames(this.localNames);\n this.fieldNames = this.getFieldNames(this.localNames);\n this.pipeNames = this.getPipeNames(this.localNames);\n }\n getLocalNames(records) {\n var index = 0;\n var names = records.map((r) => {\n var sanitizedName = r.name.replace(new RegExp(\"\\\\W\", \"g\"), '');\n return `${sanitizedName}${index++}`;\n });\n return [\"context\"].concat(names);\n }\n getChangeNames(localNames) {\n return localNames.map((n) => `change_${n}`);\n }\n getFieldNames(localNames) {\n return localNames.map((n) => `this.${n}`);\n }\n getPipeNames(localNames) {\n return localNames.map((n) => `this.${n}_pipe`);\n }\n generate() {\n var text = typeTemplate(this.typeName, this.genConstructor(), this.genDetectChanges(), this.genHydrate());\n return new Function('AbstractChangeDetector', 'ChangeDetectionUtil', 'protos', text)(AbstractChangeDetector, ChangeDetectionUtil, this.records);\n }\n genConstructor() {\n return constructorTemplate(this.typeName, this.genFieldDefinitions());\n }\n genHydrate() {\n return hydrateTemplate(this.typeName, this.genFieldDefinitions(), pipeOnDestroyTemplate(this.getnonNullPipeNames()));\n }\n genFieldDefinitions() {\n var fields = [];\n fields = fields.concat(this.fieldNames);\n fields = fields.concat(this.getnonNullPipeNames());\n return fieldDefinitionsTemplate(fields);\n }\n getnonNullPipeNames() {\n var pipes = [];\n this.records.forEach((r) => {\n if (r.mode === RECORD_TYPE_PIPE) {\n pipes.push(this.pipeNames[r.selfIndex]);\n }\n });\n return pipes;\n }\n genDetectChanges() {\n var body = this.genBody();\n return detectChangesTemplate(this.typeName, body);\n }\n genBody() {\n var rec = this.records.map((r) => this.genRecord(r)).join(\"\\n\");\n return bodyTemplate(this.genLocalDefinitions(), this.genChangeDefinitions(), rec);\n }\n genLocalDefinitions() {\n return localDefinitionsTemplate(this.localNames);\n }\n genChangeDefinitions() {\n return changeDefinitionsTemplate(this.changeNames);\n }\n genRecord(r) {\n if (r.mode === RECORD_TYPE_PIPE) {\n return this.genPipeCheck(r);\n } else {\n return this.genReferenceCheck(r);\n }\n }\n genPipeCheck(r) {\n var context = this.localNames[r.contextIndex];\n var pipe = this.pipeNames[r.selfIndex];\n var newValue = this.localNames[r.selfIndex];\n var oldValue = this.fieldNames[r.selfIndex];\n var change = this.changeNames[r.selfIndex];\n var addRecord = addSimpleChangeRecordTemplate(r.selfIndex - 1, oldValue, newValue);\n var notify = this.genNotify(r);\n return pipeCheckTemplate(context, pipe, r.name, newValue, change, addRecord, notify);\n }\n genReferenceCheck(r) {\n var newValue = this.localNames[r.selfIndex];\n var oldValue = this.fieldNames[r.selfIndex];\n var change = this.changeNames[r.selfIndex];\n var assignment = this.genUpdateCurrentValue(r);\n var addRecord = addSimpleChangeRecordTemplate(r.selfIndex - 1, oldValue, newValue);\n var notify = this.genNotify(r);\n var check = referenceCheckTemplate(assignment, newValue, oldValue, change, r.lastInBinding ? addRecord : '', notify);\n ;\n if (r.isPureFunction()) {\n return this.ifChangedGuard(r, check);\n } else {\n return check;\n }\n }\n genUpdateCurrentValue(r) {\n var context = this.localNames[r.contextIndex];\n var newValue = this.localNames[r.selfIndex];\n var args = this.genArgs(r);\n switch (r.mode) {\n case RECORD_TYPE_SELF:\n return assignmentTemplate(newValue, context);\n case RECORD_TYPE_CONST:\n return `${newValue} = ${this.genLiteral(r.funcOrValue)}`;\n case RECORD_TYPE_PROPERTY:\n return assignmentTemplate(newValue, `${context}.${r.name}`);\n case RECORD_TYPE_LOCAL:\n return assignmentTemplate(newValue, `${LOCALS_ACCESSOR}.get('${r.name}')`);\n case RECORD_TYPE_INVOKE_METHOD:\n return assignmentTemplate(newValue, `${context}.${r.name}(${args})`);\n case RECORD_TYPE_INVOKE_CLOSURE:\n return assignmentTemplate(newValue, `${context}(${args})`);\n case RECORD_TYPE_PRIMITIVE_OP:\n return assignmentTemplate(newValue, `${UTIL}.${r.name}(${args})`);\n case RECORD_TYPE_INTERPOLATE:\n return assignmentTemplate(newValue, this.genInterpolation(r));\n case RECORD_TYPE_KEYED_ACCESS:\n var key = this.localNames[r.args[0]];\n return assignmentTemplate(newValue, `${context}[${key}]`);\n default:\n throw new BaseException(`Unknown operation ${r.mode}`);\n }\n }\n ifChangedGuard(r, body) {\n return ifChangedGuardTemplate(r.args.map((a) => this.changeNames[a]), body);\n }\n genInterpolation(r) {\n var res = \"\";\n for (var i = 0; i < r.args.length; ++i) {\n res += this.genLiteral(r.fixedArgs[i]);\n res += \" + \";\n res += this.localNames[r.args[i]];\n res += \" + \";\n }\n res += this.genLiteral(r.fixedArgs[r.args.length]);\n return res;\n }\n genLiteral(value) {\n return JSON.stringify(value);\n }\n genNotify(r) {\n return r.lastInDirective ? notifyTemplate(r.selfIndex - 1) : '';\n }\n genArgs(r) {\n return r.args.map((arg) => this.localNames[arg]).join(\", \");\n }\n}\nObject.defineProperty(ChangeDetectorJITGenerator, \"parameters\", {get: function() {\n return [[assert.type.string], [assert.genericType(List, ProtoRecord)]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.getLocalNames, \"parameters\", {get: function() {\n return [[assert.genericType(List, ProtoRecord)]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.getChangeNames, \"parameters\", {get: function() {\n return [[assert.genericType(List, String)]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.getFieldNames, \"parameters\", {get: function() {\n return [[assert.genericType(List, String)]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.getPipeNames, \"parameters\", {get: function() {\n return [[assert.genericType(List, String)]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.genRecord, \"parameters\", {get: function() {\n return [[ProtoRecord]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.genPipeCheck, \"parameters\", {get: function() {\n return [[ProtoRecord]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.genReferenceCheck, \"parameters\", {get: function() {\n return [[ProtoRecord]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.genUpdateCurrentValue, \"parameters\", {get: function() {\n return [[ProtoRecord]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.ifChangedGuard, \"parameters\", {get: function() {\n return [[ProtoRecord], [assert.type.string]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.genInterpolation, \"parameters\", {get: function() {\n return [[ProtoRecord]];\n }});\nObject.defineProperty(ChangeDetectorJITGenerator.prototype.genArgs, \"parameters\", {get: function() {\n return [[ProtoRecord]];\n }});\n\n//# sourceMappingURL=/Users/yjbanov/code/angular/modules/angular2/src/change_detection/change_detection_jit_generator.map\n\n//# sourceMappingURL=./change_detection_jit_generator.map","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","assert.genericType($__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/change_detection_util.js b/angular2/src/change_detection/change_detection_util.js deleted file mode 100644 index 3700dbf..0000000 --- a/angular2/src/change_detection/change_detection_util.js +++ /dev/null @@ -1,273 +0,0 @@ -System.register(["angular2/src/facade/lang", "angular2/src/facade/collection", "./proto_record", "./exceptions", "./pipes/pipe", "./interfaces"], function($__export) { - "use strict"; - var isPresent, - isBlank, - BaseException, - Type, - List, - ListWrapper, - MapWrapper, - StringMapWrapper, - ProtoRecord, - ExpressionChangedAfterItHasBeenChecked, - NO_CHANGE, - ChangeRecord, - ChangeDetector, - CHECK_ALWAYS, - CHECK_ONCE, - CHECKED, - DETACHED, - uninitialized, - SimpleChange, - _simpleChangesIndex, - _simpleChanges, - _changeRecordsIndex, - _changeRecords, - _singleElementList, - ChangeDetectionUtil; - function _simpleChange(previousValue, currentValue) { - var index = _simpleChangesIndex++ % 20; - var s = _simpleChanges[index]; - s.previousValue = previousValue; - s.currentValue = currentValue; - return s; - } - function _changeRecord(bindingMemento, change) { - var index = _changeRecordsIndex++ % 20; - var s = _changeRecords[index]; - s.bindingMemento = bindingMemento; - s.change = change; - return s; - } - return { - setters: [function($__m) { - isPresent = $__m.isPresent; - isBlank = $__m.isBlank; - BaseException = $__m.BaseException; - Type = $__m.Type; - }, function($__m) { - List = $__m.List; - ListWrapper = $__m.ListWrapper; - MapWrapper = $__m.MapWrapper; - StringMapWrapper = $__m.StringMapWrapper; - }, function($__m) { - ProtoRecord = $__m.ProtoRecord; - }, function($__m) { - ExpressionChangedAfterItHasBeenChecked = $__m.ExpressionChangedAfterItHasBeenChecked; - }, function($__m) { - NO_CHANGE = $__m.NO_CHANGE; - }, function($__m) { - ChangeRecord = $__m.ChangeRecord; - ChangeDetector = $__m.ChangeDetector; - CHECK_ALWAYS = $__m.CHECK_ALWAYS; - CHECK_ONCE = $__m.CHECK_ONCE; - CHECKED = $__m.CHECKED; - DETACHED = $__m.DETACHED; - }], - execute: function() { - uninitialized = $__export("uninitialized", new Object()); - SimpleChange = $__export("SimpleChange", (function() { - var SimpleChange = function SimpleChange(previousValue, currentValue) { - this.previousValue = previousValue; - this.currentValue = currentValue; - }; - return ($traceurRuntime.createClass)(SimpleChange, {}, {}); - }())); - Object.defineProperty(SimpleChange, "parameters", {get: function() { - return [[assert.type.any], [assert.type.any]]; - }}); - _simpleChangesIndex = 0; - _simpleChanges = [new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null), new SimpleChange(null, null)]; - _changeRecordsIndex = 0; - _changeRecords = [new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null), new ChangeRecord(null, null)]; - _singleElementList = [null]; - ChangeDetectionUtil = $__export("ChangeDetectionUtil", (function() { - var ChangeDetectionUtil = function ChangeDetectionUtil() {}; - return ($traceurRuntime.createClass)(ChangeDetectionUtil, {}, { - unitialized: function() { - return uninitialized; - }, - arrayFn0: function() { - return []; - }, - arrayFn1: function(a1) { - return [a1]; - }, - arrayFn2: function(a1, a2) { - return [a1, a2]; - }, - arrayFn3: function(a1, a2, a3) { - return [a1, a2, a3]; - }, - arrayFn4: function(a1, a2, a3, a4) { - return [a1, a2, a3, a4]; - }, - arrayFn5: function(a1, a2, a3, a4, a5) { - return [a1, a2, a3, a4, a5]; - }, - arrayFn6: function(a1, a2, a3, a4, a5, a6) { - return [a1, a2, a3, a4, a5, a6]; - }, - arrayFn7: function(a1, a2, a3, a4, a5, a6, a7) { - return [a1, a2, a3, a4, a5, a6, a7]; - }, - arrayFn8: function(a1, a2, a3, a4, a5, a6, a7, a8) { - return [a1, a2, a3, a4, a5, a6, a7, a8]; - }, - arrayFn9: function(a1, a2, a3, a4, a5, a6, a7, a8, a9) { - return [a1, a2, a3, a4, a5, a6, a7, a8, a9]; - }, - operation_negate: function(value) { - return !value; - }, - operation_add: function(left, right) { - return left + right; - }, - operation_subtract: function(left, right) { - return left - right; - }, - operation_multiply: function(left, right) { - return left * right; - }, - operation_divide: function(left, right) { - return left / right; - }, - operation_remainder: function(left, right) { - return left % right; - }, - operation_equals: function(left, right) { - return left == right; - }, - operation_not_equals: function(left, right) { - return left != right; - }, - operation_less_then: function(left, right) { - return left < right; - }, - operation_greater_then: function(left, right) { - return left > right; - }, - operation_less_or_equals_then: function(left, right) { - return left <= right; - }, - operation_greater_or_equals_then: function(left, right) { - return left >= right; - }, - operation_logical_and: function(left, right) { - return left && right; - }, - operation_logical_or: function(left, right) { - return left || right; - }, - cond: function(cond, trueVal, falseVal) { - return cond ? trueVal : falseVal; - }, - mapFn: function(keys) { - function buildMap(values) { - var res = StringMapWrapper.create(); - for (var i = 0; i < keys.length; ++i) { - StringMapWrapper.set(res, keys[i], values[i]); - } - return res; - } - switch (keys.length) { - case 0: - return (function() { - return []; - }); - case 1: - return (function(a1) { - return buildMap([a1]); - }); - case 2: - return (function(a1, a2) { - return buildMap([a1, a2]); - }); - case 3: - return (function(a1, a2, a3) { - return buildMap([a1, a2, a3]); - }); - case 4: - return (function(a1, a2, a3, a4) { - return buildMap([a1, a2, a3, a4]); - }); - case 5: - return (function(a1, a2, a3, a4, a5) { - return buildMap([a1, a2, a3, a4, a5]); - }); - case 6: - return (function(a1, a2, a3, a4, a5, a6) { - return buildMap([a1, a2, a3, a4, a5, a6]); - }); - case 7: - return (function(a1, a2, a3, a4, a5, a6, a7) { - return buildMap([a1, a2, a3, a4, a5, a6, a7]); - }); - case 8: - return (function(a1, a2, a3, a4, a5, a6, a7, a8) { - return buildMap([a1, a2, a3, a4, a5, a6, a7, a8]); - }); - case 9: - return (function(a1, a2, a3, a4, a5, a6, a7, a8, a9) { - return buildMap([a1, a2, a3, a4, a5, a6, a7, a8, a9]); - }); - default: - throw new BaseException("Does not support literal maps with more than 9 elements"); - } - }, - keyedAccess: function(obj, args) { - return obj[args[0]]; - }, - noChangeMarker: function(value) { - return value === NO_CHANGE; - }, - throwOnChange: function(proto, change) { - throw new ExpressionChangedAfterItHasBeenChecked(proto, change); - }, - simpleChange: function(previousValue, currentValue) { - return _simpleChange(previousValue, currentValue); - }, - changeRecord: function(memento, change) { - return _changeRecord(memento, change); - }, - simpleChangeRecord: function(memento, previousValue, currentValue) { - return _changeRecord(memento, _simpleChange(previousValue, currentValue)); - }, - addRecord: function(updatedRecords, changeRecord) { - if (isBlank(updatedRecords)) { - updatedRecords = _singleElementList; - updatedRecords[0] = changeRecord; - } else if (updatedRecords === _singleElementList) { - updatedRecords = [_singleElementList[0], changeRecord]; - } else { - ListWrapper.push(updatedRecords, changeRecord); - } - return updatedRecords; - } - }); - }())); - Object.defineProperty(ChangeDetectionUtil.mapFn, "parameters", {get: function() { - return [[List]]; - }}); - Object.defineProperty(ChangeDetectionUtil.throwOnChange, "parameters", {get: function() { - return [[ProtoRecord], []]; - }}); - Object.defineProperty(ChangeDetectionUtil.simpleChange, "parameters", {get: function() { - return [[assert.type.any], [assert.type.any]]; - }}); - Object.defineProperty(ChangeDetectionUtil.changeRecord, "parameters", {get: function() { - return [[assert.type.any], [assert.type.any]]; - }}); - Object.defineProperty(ChangeDetectionUtil.simpleChangeRecord, "parameters", {get: function() { - return [[assert.type.any], [assert.type.any], [assert.type.any]]; - }}); - Object.defineProperty(ChangeDetectionUtil.addRecord, "parameters", {get: function() { - return [[List], [ChangeRecord]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/change_detection_util.map - -//# sourceMappingURL=../../src/change_detection/change_detection_util.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/change_detection_util.js.map b/angular2/src/change_detection/change_detection_util.js.map deleted file mode 100644 index 6513a30..0000000 --- a/angular2/src/change_detection/change_detection_util.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","src/change_detection/change_detection_util.js","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/7","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/@traceur/generated/TemplateParser/24","src/change_detection/@traceur/generated/TemplateParser/23"],"names":[],"mappings":"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","file":"src/change_detection/change_detection_util.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","import {isPresent, isBlank, BaseException, Type} from 'angular2/src/facade/lang';\nimport {List, ListWrapper, MapWrapper, StringMapWrapper} from 'angular2/src/facade/collection';\nimport {ProtoRecord} from './proto_record';\nimport {ExpressionChangedAfterItHasBeenChecked} from './exceptions';\nimport {NO_CHANGE} from './pipes/pipe';\nimport {ChangeRecord, ChangeDetector, CHECK_ALWAYS, CHECK_ONCE, CHECKED, DETACHED} from './interfaces';\n\nexport var uninitialized = new Object();\n\nexport class SimpleChange {\n previousValue:any;\n currentValue:any;\n\n constructor(previousValue:any, currentValue:any) {\n this.previousValue = previousValue;\n this.currentValue = currentValue;\n }\n}\n\nvar _simpleChangesIndex = 0;\nvar _simpleChanges = [\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null),\n new SimpleChange(null, null)\n]\n\nvar _changeRecordsIndex = 0;\nvar _changeRecords = [\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null),\n new ChangeRecord(null, null)\n]\n\nfunction _simpleChange(previousValue, currentValue) {\n var index = _simpleChangesIndex++ % 20;\n var s = _simpleChanges[index];\n s.previousValue = previousValue;\n s.currentValue = currentValue;\n return s;\n}\n\nfunction _changeRecord(bindingMemento, change) {\n var index = _changeRecordsIndex++ % 20;\n var s = _changeRecords[index];\n s.bindingMemento = bindingMemento;\n s.change = change;\n return s;\n}\n\nvar _singleElementList = [null];\n\nexport class ChangeDetectionUtil {\n static unitialized() {\n return uninitialized;\n }\n\n static arrayFn0() { return []; }\n static arrayFn1(a1) { return [a1]; }\n static arrayFn2(a1, a2) { return [a1, a2]; }\n static arrayFn3(a1, a2, a3) { return [a1, a2, a3]; }\n static arrayFn4(a1, a2, a3, a4) { return [a1, a2, a3, a4]; }\n static arrayFn5(a1, a2, a3, a4, a5) { return [a1, a2, a3, a4, a5]; }\n static arrayFn6(a1, a2, a3, a4, a5, a6) { return [a1, a2, a3, a4, a5, a6]; }\n static arrayFn7(a1, a2, a3, a4, a5, a6, a7) { return [a1, a2, a3, a4, a5, a6, a7]; }\n static arrayFn8(a1, a2, a3, a4, a5, a6, a7, a8) { return [a1, a2, a3, a4, a5, a6, a7, a8]; }\n static arrayFn9(a1, a2, a3, a4, a5, a6, a7, a8, a9) { return [a1, a2, a3, a4, a5, a6, a7, a8, a9]; }\n\n static operation_negate(value) {return !value;}\n static operation_add(left, right) {return left + right;}\n static operation_subtract(left, right) {return left - right;}\n static operation_multiply(left, right) {return left * right;}\n static operation_divide(left, right) {return left / right;}\n static operation_remainder(left, right) {return left % right;}\n static operation_equals(left, right) {return left == right;}\n static operation_not_equals(left, right) {return left != right;}\n static operation_less_then(left, right) {return left < right;}\n static operation_greater_then(left, right) {return left > right;}\n static operation_less_or_equals_then(left, right) {return left <= right;}\n static operation_greater_or_equals_then(left, right) {return left >= right;}\n static operation_logical_and(left, right) {return left && right;}\n static operation_logical_or(left, right) {return left || right;}\n static cond(cond, trueVal, falseVal) {return cond ? trueVal : falseVal;}\n\n static mapFn(keys:List) {\n function buildMap(values) {\n var res = StringMapWrapper.create();\n for(var i = 0; i < keys.length; ++i) {\n StringMapWrapper.set(res, keys[i], values[i]);\n }\n return res;\n }\n\n switch (keys.length) {\n case 0: return () => [];\n case 1: return (a1) => buildMap([a1]);\n case 2: return (a1, a2) => buildMap([a1, a2]);\n case 3: return (a1, a2, a3) => buildMap([a1, a2, a3]);\n case 4: return (a1, a2, a3, a4) => buildMap([a1, a2, a3, a4]);\n case 5: return (a1, a2, a3, a4, a5) => buildMap([a1, a2, a3, a4, a5]);\n case 6: return (a1, a2, a3, a4, a5, a6) => buildMap([a1, a2, a3, a4, a5, a6]);\n case 7: return (a1, a2, a3, a4, a5, a6, a7) => buildMap([a1, a2, a3, a4, a5, a6, a7]);\n case 8: return (a1, a2, a3, a4, a5, a6, a7, a8) => buildMap([a1, a2, a3, a4, a5, a6, a7, a8]);\n case 9: return (a1, a2, a3, a4, a5, a6, a7, a8, a9) => buildMap([a1, a2, a3, a4, a5, a6, a7, a8, a9]);\n default: throw new BaseException(`Does not support literal maps with more than 9 elements`);\n }\n }\n\n static keyedAccess(obj, args) {\n return obj[args[0]];\n }\n\n static noChangeMarker(value):boolean {\n return value === NO_CHANGE;\n }\n\n static throwOnChange(proto:ProtoRecord, change) {\n throw new ExpressionChangedAfterItHasBeenChecked(proto, change);\n }\n\n static simpleChange(previousValue:any, currentValue:any):SimpleChange {\n return _simpleChange(previousValue, currentValue);\n }\n\n static changeRecord(memento:any, change:any):ChangeRecord {\n return _changeRecord(memento, change);\n }\n\n static simpleChangeRecord(memento:any, previousValue:any, currentValue:any):ChangeRecord {\n return _changeRecord(memento, _simpleChange(previousValue, currentValue));\n }\n\n static addRecord(updatedRecords:List, changeRecord:ChangeRecord):List {\n if (isBlank(updatedRecords)) {\n updatedRecords = _singleElementList;\n updatedRecords[0] = changeRecord;\n\n } else if (updatedRecords === _singleElementList) {\n updatedRecords = [_singleElementList[0], changeRecord];\n\n } else {\n ListWrapper.push(updatedRecords, changeRecord);\n }\n return updatedRecords;\n }\n}","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","$__export($__placeholder__0, $__placeholder__1)","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/coalesce.js b/angular2/src/change_detection/coalesce.js deleted file mode 100644 index 2024733..0000000 --- a/angular2/src/change_detection/coalesce.js +++ /dev/null @@ -1,83 +0,0 @@ -System.register(["angular2/src/facade/lang", "angular2/src/facade/collection", "./proto_record"], function($__export) { - "use strict"; - var isPresent, - List, - ListWrapper, - Map, - MapWrapper, - RECORD_TYPE_SELF, - ProtoRecord; - function coalesce(records) { - var res = ListWrapper.create(); - var indexMap = MapWrapper.create(); - for (var i = 0; i < records.length; ++i) { - var r = records[i]; - var record = _replaceIndices(r, res.length + 1, indexMap); - var matchingRecord = _findMatching(record, res); - if (isPresent(matchingRecord) && record.lastInBinding) { - ListWrapper.push(res, _selfRecord(record, matchingRecord.selfIndex, res.length + 1)); - MapWrapper.set(indexMap, r.selfIndex, matchingRecord.selfIndex); - } else if (isPresent(matchingRecord) && !record.lastInBinding) { - MapWrapper.set(indexMap, r.selfIndex, matchingRecord.selfIndex); - } else { - ListWrapper.push(res, record); - MapWrapper.set(indexMap, r.selfIndex, record.selfIndex); - } - } - return res; - } - function _selfRecord(r, contextIndex, selfIndex) { - return new ProtoRecord(RECORD_TYPE_SELF, "self", null, [], r.fixedArgs, contextIndex, selfIndex, r.bindingMemento, r.directiveMemento, r.expressionAsString, r.lastInBinding, r.lastInDirective); - } - function _findMatching(r, rs) { - return ListWrapper.find(rs, (function(rr) { - return rr.mode === r.mode && rr.funcOrValue === r.funcOrValue && rr.contextIndex === r.contextIndex && ListWrapper.equals(rr.args, r.args); - })); - } - function _replaceIndices(r, selfIndex, indexMap) { - var args = ListWrapper.map(r.args, (function(a) { - return _map(indexMap, a); - })); - var contextIndex = _map(indexMap, r.contextIndex); - return new ProtoRecord(r.mode, r.name, r.funcOrValue, args, r.fixedArgs, contextIndex, selfIndex, r.bindingMemento, r.directiveMemento, r.expressionAsString, r.lastInBinding, r.lastInDirective); - } - function _map(indexMap, value) { - var r = MapWrapper.get(indexMap, value); - return isPresent(r) ? r : value; - } - $__export("coalesce", coalesce); - return { - setters: [function($__m) { - isPresent = $__m.isPresent; - }, function($__m) { - List = $__m.List; - ListWrapper = $__m.ListWrapper; - Map = $__m.Map; - MapWrapper = $__m.MapWrapper; - }, function($__m) { - RECORD_TYPE_SELF = $__m.RECORD_TYPE_SELF; - ProtoRecord = $__m.ProtoRecord; - }], - execute: function() { - Object.defineProperty(coalesce, "parameters", {get: function() { - return [[assert.genericType(List, ProtoRecord)]]; - }}); - Object.defineProperty(_selfRecord, "parameters", {get: function() { - return [[ProtoRecord], [assert.type.number], [assert.type.number]]; - }}); - Object.defineProperty(_findMatching, "parameters", {get: function() { - return [[ProtoRecord], [assert.genericType(List, ProtoRecord)]]; - }}); - Object.defineProperty(_replaceIndices, "parameters", {get: function() { - return [[ProtoRecord], [assert.type.number], [Map]]; - }}); - Object.defineProperty(_map, "parameters", {get: function() { - return [[Map], [assert.type.number]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/coalesce.map - -//# sourceMappingURL=../../src/change_detection/coalesce.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/coalesce.js.map b/angular2/src/change_detection/coalesce.js.map deleted file mode 100644 index 44fe0a1..0000000 --- a/angular2/src/change_detection/coalesce.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","src/change_detection/coalesce.js","@traceur/generated/TemplateParser/13","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","src/change_detection/@traceur/generated/TemplateParser/24","src/change_detection/@traceur/generated/TemplateParser/37","src/change_detection/@traceur/generated/TemplateParser/23"],"names":[],"mappings":"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","file":"src/change_detection/coalesce.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","import {isPresent} from 'angular2/src/facade/lang';\nimport {List, ListWrapper, Map, MapWrapper} from 'angular2/src/facade/collection';\nimport {RECORD_TYPE_SELF, ProtoRecord} from './proto_record';\n\n/**\n * Removes \"duplicate\" records. It assuming that record evaluation does not\n * have side-effects.\n *\n * Records that are not last in bindings are removed and all the indices\n * of the records that depend on them are updated.\n *\n * Records that are last in bindings CANNOT be removed, and instead are\n * replaced with very cheap SELF records.\n */\nexport function coalesce(records:List):List {\n var res = ListWrapper.create();\n var indexMap = MapWrapper.create();\n\n for (var i = 0; i < records.length; ++i) {\n var r = records[i];\n var record = _replaceIndices(r, res.length + 1, indexMap);\n var matchingRecord = _findMatching(record, res);\n\n if (isPresent(matchingRecord) && record.lastInBinding) {\n ListWrapper.push(res, _selfRecord(record, matchingRecord.selfIndex, res.length + 1));\n MapWrapper.set(indexMap, r.selfIndex, matchingRecord.selfIndex);\n\n } else if (isPresent(matchingRecord) && !record.lastInBinding) {\n MapWrapper.set(indexMap, r.selfIndex, matchingRecord.selfIndex);\n\n } else {\n ListWrapper.push(res, record);\n MapWrapper.set(indexMap, r.selfIndex, record.selfIndex);\n }\n }\n\n return res;\n}\n\nfunction _selfRecord(r:ProtoRecord, contextIndex:number, selfIndex:number):ProtoRecord {\n return new ProtoRecord(\n RECORD_TYPE_SELF,\n \"self\",\n null,\n [],\n r.fixedArgs,\n contextIndex,\n selfIndex,\n r.bindingMemento,\n r.directiveMemento,\n r.expressionAsString,\n r.lastInBinding,\n r.lastInDirective\n );\n}\n\nfunction _findMatching(r:ProtoRecord, rs:List){\n return ListWrapper.find(rs, (rr) =>\n rr.mode === r.mode &&\n rr.funcOrValue === r.funcOrValue &&\n rr.contextIndex === r.contextIndex &&\n ListWrapper.equals(rr.args, r.args)\n );\n}\n\nfunction _replaceIndices(r:ProtoRecord, selfIndex:number, indexMap:Map) {\n var args = ListWrapper.map(r.args, (a) => _map(indexMap, a));\n var contextIndex = _map(indexMap, r.contextIndex);\n return new ProtoRecord(\n r.mode,\n r.name,\n r.funcOrValue,\n args,\n r.fixedArgs,\n contextIndex,\n selfIndex,\n r.bindingMemento,\n r.directiveMemento,\n r.expressionAsString,\n r.lastInBinding,\n r.lastInDirective\n );\n}\n\nfunction _map(indexMap:Map, value:number) {\n var r = MapWrapper.get(indexMap, value)\n return isPresent(r) ? r : value;\n}","\n $__export($__placeholder__0, $__placeholder__1)\n ","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.genericType($__placeholder__0)","assert.type.$__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/dynamic_change_detector.js b/angular2/src/change_detection/dynamic_change_detector.js deleted file mode 100644 index 6f1fe5c..0000000 --- a/angular2/src/change_detection/dynamic_change_detector.js +++ /dev/null @@ -1,319 +0,0 @@ -System.register(["angular2/src/facade/lang", "angular2/src/facade/collection", "./abstract_change_detector", "./pipes/pipe_registry", "./change_detection_util", "./proto_record", "./exceptions"], function($__export) { - "use strict"; - var isPresent, - isBlank, - BaseException, - FunctionWrapper, - List, - ListWrapper, - MapWrapper, - StringMapWrapper, - AbstractChangeDetector, - PipeRegistry, - ChangeDetectionUtil, - SimpleChange, - uninitialized, - ProtoRecord, - RECORD_TYPE_SELF, - RECORD_TYPE_PROPERTY, - RECORD_TYPE_LOCAL, - RECORD_TYPE_INVOKE_METHOD, - RECORD_TYPE_CONST, - RECORD_TYPE_INVOKE_CLOSURE, - RECORD_TYPE_PRIMITIVE_OP, - RECORD_TYPE_KEYED_ACCESS, - RECORD_TYPE_PIPE, - RECORD_TYPE_INTERPOLATE, - ExpressionChangedAfterItHasBeenChecked, - ChangeDetectionError, - DynamicChangeDetector, - _singleElementList; - function isSame(a, b) { - if (a === b) - return true; - if (a instanceof String && b instanceof String && a == b) - return true; - if ((a !== a) && (b !== b)) - return true; - return false; - } - return { - setters: [function($__m) { - isPresent = $__m.isPresent; - isBlank = $__m.isBlank; - BaseException = $__m.BaseException; - FunctionWrapper = $__m.FunctionWrapper; - }, function($__m) { - List = $__m.List; - ListWrapper = $__m.ListWrapper; - MapWrapper = $__m.MapWrapper; - StringMapWrapper = $__m.StringMapWrapper; - }, function($__m) { - AbstractChangeDetector = $__m.AbstractChangeDetector; - }, function($__m) { - PipeRegistry = $__m.PipeRegistry; - }, function($__m) { - ChangeDetectionUtil = $__m.ChangeDetectionUtil; - SimpleChange = $__m.SimpleChange; - uninitialized = $__m.uninitialized; - }, function($__m) { - ProtoRecord = $__m.ProtoRecord; - RECORD_TYPE_SELF = $__m.RECORD_TYPE_SELF; - RECORD_TYPE_PROPERTY = $__m.RECORD_TYPE_PROPERTY; - RECORD_TYPE_LOCAL = $__m.RECORD_TYPE_LOCAL; - RECORD_TYPE_INVOKE_METHOD = $__m.RECORD_TYPE_INVOKE_METHOD; - RECORD_TYPE_CONST = $__m.RECORD_TYPE_CONST; - RECORD_TYPE_INVOKE_CLOSURE = $__m.RECORD_TYPE_INVOKE_CLOSURE; - RECORD_TYPE_PRIMITIVE_OP = $__m.RECORD_TYPE_PRIMITIVE_OP; - RECORD_TYPE_KEYED_ACCESS = $__m.RECORD_TYPE_KEYED_ACCESS; - RECORD_TYPE_PIPE = $__m.RECORD_TYPE_PIPE; - RECORD_TYPE_INTERPOLATE = $__m.RECORD_TYPE_INTERPOLATE; - }, function($__m) { - ExpressionChangedAfterItHasBeenChecked = $__m.ExpressionChangedAfterItHasBeenChecked; - ChangeDetectionError = $__m.ChangeDetectionError; - }], - execute: function() { - DynamicChangeDetector = $__export("DynamicChangeDetector", (function($__super) { - var DynamicChangeDetector = function DynamicChangeDetector(dispatcher, pipeRegistry, protoRecords) { - $traceurRuntime.superConstructor(DynamicChangeDetector).call(this); - this.dispatcher = dispatcher; - this.pipeRegistry = pipeRegistry; - this.values = ListWrapper.createFixedSize(protoRecords.length + 1); - this.pipes = ListWrapper.createFixedSize(protoRecords.length + 1); - this.prevContexts = ListWrapper.createFixedSize(protoRecords.length + 1); - this.changes = ListWrapper.createFixedSize(protoRecords.length + 1); - ListWrapper.fill(this.values, uninitialized); - ListWrapper.fill(this.pipes, null); - ListWrapper.fill(this.prevContexts, uninitialized); - ListWrapper.fill(this.changes, false); - this.locals = null; - this.protos = protoRecords; - }; - return ($traceurRuntime.createClass)(DynamicChangeDetector, { - hydrate: function(context, locals) { - this.values[0] = context; - this.locals = locals; - }, - dehydrate: function() { - this._destroyPipes(); - ListWrapper.fill(this.values, uninitialized); - ListWrapper.fill(this.changes, false); - ListWrapper.fill(this.pipes, null); - ListWrapper.fill(this.prevContexts, uninitialized); - this.locals = null; - }, - _destroyPipes: function() { - for (var i = 0; i < this.pipes.length; ++i) { - if (isPresent(this.pipes[i])) { - this.pipes[i].onDestroy(); - } - } - }, - hydrated: function() { - return this.values[0] !== uninitialized; - }, - detectChangesInRecords: function(throwOnChange) { - var protos = this.protos; - var updatedRecords = null; - for (var i = 0; i < protos.length; ++i) { - var proto = protos[i]; - var change = this._check(proto); - if (isPresent(change)) { - var record = ChangeDetectionUtil.changeRecord(proto.bindingMemento, change); - updatedRecords = ChangeDetectionUtil.addRecord(updatedRecords, record); - } - if (proto.lastInDirective && isPresent(updatedRecords)) { - if (throwOnChange) - ChangeDetectionUtil.throwOnChange(proto, updatedRecords[0]); - this.dispatcher.onRecordChange(proto.directiveMemento, updatedRecords); - updatedRecords = null; - } - } - }, - _check: function(proto) { - try { - if (proto.mode == RECORD_TYPE_PIPE) { - return this._pipeCheck(proto); - } else { - return this._referenceCheck(proto); - } - } catch (e) { - throw new ChangeDetectionError(proto, e); - } - }, - _referenceCheck: function(proto) { - if (this._pureFuncAndArgsDidNotChange(proto)) { - this._setChanged(proto, false); - return null; - } - var prevValue = this._readSelf(proto); - var currValue = this._calculateCurrValue(proto); - if (!isSame(prevValue, currValue)) { - this._writeSelf(proto, currValue); - this._setChanged(proto, true); - if (proto.lastInBinding) { - return ChangeDetectionUtil.simpleChange(prevValue, currValue); - } else { - return null; - } - } else { - this._setChanged(proto, false); - return null; - } - }, - _calculateCurrValue: function(proto) { - switch (proto.mode) { - case RECORD_TYPE_SELF: - return this._readContext(proto); - case RECORD_TYPE_CONST: - return proto.funcOrValue; - case RECORD_TYPE_PROPERTY: - var context = this._readContext(proto); - return proto.funcOrValue(context); - case RECORD_TYPE_LOCAL: - return this.locals.get(proto.name); - case RECORD_TYPE_INVOKE_METHOD: - var context = this._readContext(proto); - var args = this._readArgs(proto); - return proto.funcOrValue(context, args); - case RECORD_TYPE_KEYED_ACCESS: - var arg = this._readArgs(proto)[0]; - return this._readContext(proto)[arg]; - case RECORD_TYPE_INVOKE_CLOSURE: - return FunctionWrapper.apply(this._readContext(proto), this._readArgs(proto)); - case RECORD_TYPE_INTERPOLATE: - case RECORD_TYPE_PRIMITIVE_OP: - return FunctionWrapper.apply(proto.funcOrValue, this._readArgs(proto)); - default: - throw new BaseException(("Unknown operation " + proto.mode)); - } - }, - _pipeCheck: function(proto) { - var context = this._readContext(proto); - var pipe = this._pipeFor(proto, context); - var newValue = pipe.transform(context); - if (!ChangeDetectionUtil.noChangeMarker(newValue)) { - var prevValue = this._readSelf(proto); - this._writeSelf(proto, newValue); - this._setChanged(proto, true); - if (proto.lastInBinding) { - return ChangeDetectionUtil.simpleChange(prevValue, newValue); - } else { - return null; - } - } else { - this._setChanged(proto, false); - return null; - } - }, - _pipeFor: function(proto, context) { - var storedPipe = this._readPipe(proto); - if (isPresent(storedPipe) && storedPipe.supports(context)) { - return storedPipe; - } - if (isPresent(storedPipe)) { - storedPipe.onDestroy(); - } - var pipe = this.pipeRegistry.get(proto.name, context); - this._writePipe(proto, pipe); - return pipe; - }, - _readContext: function(proto) { - return this.values[proto.contextIndex]; - }, - _readSelf: function(proto) { - return this.values[proto.selfIndex]; - }, - _writeSelf: function(proto, value) { - this.values[proto.selfIndex] = value; - }, - _readPipe: function(proto) { - return this.pipes[proto.selfIndex]; - }, - _writePipe: function(proto, value) { - this.pipes[proto.selfIndex] = value; - }, - _setChanged: function(proto, value) { - this.changes[proto.selfIndex] = value; - }, - _pureFuncAndArgsDidNotChange: function(proto) { - return proto.isPureFunction() && !this._argsChanged(proto); - }, - _argsChanged: function(proto) { - var args = proto.args; - for (var i = 0; i < args.length; ++i) { - if (this.changes[args[i]]) { - return true; - } - } - return false; - }, - _readArgs: function(proto) { - var res = ListWrapper.createFixedSize(proto.args.length); - var args = proto.args; - for (var i = 0; i < args.length; ++i) { - res[i] = this.values[args[i]]; - } - return res; - } - }, {}, $__super); - }(AbstractChangeDetector))); - Object.defineProperty(DynamicChangeDetector, "parameters", {get: function() { - return [[assert.type.any], [PipeRegistry], [assert.genericType(List, ProtoRecord)]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype.hydrate, "parameters", {get: function() { - return [[assert.type.any], [assert.type.any]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype.detectChangesInRecords, "parameters", {get: function() { - return [[assert.type.boolean]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._check, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._referenceCheck, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._calculateCurrValue, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._pipeCheck, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._pipeFor, "parameters", {get: function() { - return [[ProtoRecord], []]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._readContext, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._readSelf, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._writeSelf, "parameters", {get: function() { - return [[ProtoRecord], []]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._readPipe, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._writePipe, "parameters", {get: function() { - return [[ProtoRecord], []]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._setChanged, "parameters", {get: function() { - return [[ProtoRecord], [assert.type.boolean]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._pureFuncAndArgsDidNotChange, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._argsChanged, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - Object.defineProperty(DynamicChangeDetector.prototype._readArgs, "parameters", {get: function() { - return [[ProtoRecord]]; - }}); - _singleElementList = [null]; - } - }; -}); - -//# sourceMappingURL=src/change_detection/dynamic_change_detector.map - -//# sourceMappingURL=../../src/change_detection/dynamic_change_detector.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/dynamic_change_detector.js.map b/angular2/src/change_detection/dynamic_change_detector.js.map deleted file mode 100644 index bd2768b..0000000 --- a/angular2/src/change_detection/dynamic_change_detector.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","src/change_detection/dynamic_change_detector.js","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/12","@traceur/generated/TemplateParser/11","src/change_detection/@traceur/generated/TemplateParser/24","src/change_detection/@traceur/generated/TemplateParser/23","src/change_detection/@traceur/generated/TemplateParser/37"],"names":[],"mappings":"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","file":"src/change_detection/dynamic_change_detector.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","import {isPresent, isBlank, BaseException, FunctionWrapper} from 'angular2/src/facade/lang';\nimport {List, ListWrapper, MapWrapper, StringMapWrapper} from 'angular2/src/facade/collection';\n\nimport {AbstractChangeDetector} from './abstract_change_detector';\nimport {PipeRegistry} from './pipes/pipe_registry';\nimport {ChangeDetectionUtil, SimpleChange, uninitialized} from './change_detection_util';\n\n\nimport {\n ProtoRecord,\n RECORD_TYPE_SELF,\n RECORD_TYPE_PROPERTY,\n RECORD_TYPE_LOCAL,\n RECORD_TYPE_INVOKE_METHOD,\n RECORD_TYPE_CONST,\n RECORD_TYPE_INVOKE_CLOSURE,\n RECORD_TYPE_PRIMITIVE_OP,\n RECORD_TYPE_KEYED_ACCESS,\n RECORD_TYPE_PIPE,\n RECORD_TYPE_INTERPOLATE\n } from './proto_record';\n\nimport {ExpressionChangedAfterItHasBeenChecked, ChangeDetectionError} from './exceptions';\n\nexport class DynamicChangeDetector extends AbstractChangeDetector {\n dispatcher:any;\n pipeRegistry;\n\n locals:any;\n values:List;\n changes:List;\n pipes:List;\n prevContexts:List;\n\n protos:List;\n\n constructor(dispatcher:any, pipeRegistry:PipeRegistry, protoRecords:List) {\n super();\n this.dispatcher = dispatcher;\n this.pipeRegistry = pipeRegistry;\n\n this.values = ListWrapper.createFixedSize(protoRecords.length + 1);\n this.pipes = ListWrapper.createFixedSize(protoRecords.length + 1);\n this.prevContexts = ListWrapper.createFixedSize(protoRecords.length + 1);\n this.changes = ListWrapper.createFixedSize(protoRecords.length + 1);\n\n ListWrapper.fill(this.values, uninitialized);\n ListWrapper.fill(this.pipes, null);\n ListWrapper.fill(this.prevContexts, uninitialized);\n ListWrapper.fill(this.changes, false);\n this.locals = null;\n\n this.protos = protoRecords;\n }\n\n hydrate(context:any, locals:any) {\n this.values[0] = context;\n this.locals = locals;\n }\n\n dehydrate() {\n this._destroyPipes();\n ListWrapper.fill(this.values, uninitialized);\n ListWrapper.fill(this.changes, false);\n ListWrapper.fill(this.pipes, null);\n ListWrapper.fill(this.prevContexts, uninitialized);\n this.locals = null;\n }\n\n _destroyPipes() {\n for(var i = 0; i < this.pipes.length; ++i) {\n if (isPresent(this.pipes[i])) {\n this.pipes[i].onDestroy();\n }\n }\n }\n\n hydrated():boolean {\n return this.values[0] !== uninitialized;\n }\n\n detectChangesInRecords(throwOnChange:boolean) {\n var protos:List = this.protos;\n\n var updatedRecords = null;\n for (var i = 0; i < protos.length; ++i) {\n var proto:ProtoRecord = protos[i];\n var change = this._check(proto);\n\n if (isPresent(change)) {\n var record = ChangeDetectionUtil.changeRecord(proto.bindingMemento, change);\n updatedRecords = ChangeDetectionUtil.addRecord(updatedRecords, record);\n }\n\n if (proto.lastInDirective && isPresent(updatedRecords)) {\n if (throwOnChange) ChangeDetectionUtil.throwOnChange(proto, updatedRecords[0]);\n\n this.dispatcher.onRecordChange(proto.directiveMemento, updatedRecords);\n updatedRecords = null;\n }\n }\n }\n\n _check(proto:ProtoRecord) {\n try {\n if (proto.mode == RECORD_TYPE_PIPE) {\n return this._pipeCheck(proto);\n } else {\n return this._referenceCheck(proto);\n }\n } catch (e) {\n throw new ChangeDetectionError(proto, e);\n }\n }\n\n _referenceCheck(proto:ProtoRecord) {\n if (this._pureFuncAndArgsDidNotChange(proto)) {\n this._setChanged(proto, false);\n return null;\n }\n\n var prevValue = this._readSelf(proto);\n var currValue = this._calculateCurrValue(proto);\n\n if (!isSame(prevValue, currValue)) {\n this._writeSelf(proto, currValue);\n this._setChanged(proto, true);\n\n if (proto.lastInBinding) {\n return ChangeDetectionUtil.simpleChange(prevValue, currValue);\n } else {\n return null;\n }\n } else {\n this._setChanged(proto, false);\n return null;\n }\n }\n\n _calculateCurrValue(proto:ProtoRecord) {\n switch (proto.mode) {\n case RECORD_TYPE_SELF:\n return this._readContext(proto);\n\n case RECORD_TYPE_CONST:\n return proto.funcOrValue;\n\n case RECORD_TYPE_PROPERTY:\n var context = this._readContext(proto);\n return proto.funcOrValue(context);\n\n case RECORD_TYPE_LOCAL:\n return this.locals.get(proto.name);\n\n case RECORD_TYPE_INVOKE_METHOD:\n var context = this._readContext(proto);\n var args = this._readArgs(proto);\n return proto.funcOrValue(context, args);\n\n case RECORD_TYPE_KEYED_ACCESS:\n var arg = this._readArgs(proto)[0];\n return this._readContext(proto)[arg];\n\n case RECORD_TYPE_INVOKE_CLOSURE:\n return FunctionWrapper.apply(this._readContext(proto), this._readArgs(proto));\n\n case RECORD_TYPE_INTERPOLATE:\n case RECORD_TYPE_PRIMITIVE_OP:\n return FunctionWrapper.apply(proto.funcOrValue, this._readArgs(proto));\n\n default:\n throw new BaseException(`Unknown operation ${proto.mode}`);\n }\n }\n\n _pipeCheck(proto:ProtoRecord) {\n var context = this._readContext(proto);\n var pipe = this._pipeFor(proto, context);\n\n var newValue = pipe.transform(context);\n if (! ChangeDetectionUtil.noChangeMarker(newValue)) {\n var prevValue = this._readSelf(proto);\n this._writeSelf(proto, newValue);\n this._setChanged(proto, true);\n\n if (proto.lastInBinding) {\n return ChangeDetectionUtil.simpleChange(prevValue, newValue);\n } else {\n return null;\n }\n } else {\n this._setChanged(proto, false);\n return null;\n }\n }\n\n _pipeFor(proto:ProtoRecord, context) {\n var storedPipe = this._readPipe(proto);\n if (isPresent(storedPipe) && storedPipe.supports(context)) {\n return storedPipe;\n }\n if (isPresent(storedPipe)) {\n storedPipe.onDestroy();\n }\n var pipe = this.pipeRegistry.get(proto.name, context);\n this._writePipe(proto, pipe);\n return pipe;\n }\n\n _readContext(proto:ProtoRecord) {\n return this.values[proto.contextIndex];\n }\n\n _readSelf(proto:ProtoRecord) {\n return this.values[proto.selfIndex];\n }\n\n _writeSelf(proto:ProtoRecord, value) {\n this.values[proto.selfIndex] = value;\n }\n\n _readPipe(proto:ProtoRecord) {\n return this.pipes[proto.selfIndex];\n }\n\n _writePipe(proto:ProtoRecord, value) {\n this.pipes[proto.selfIndex] = value;\n }\n\n _setChanged(proto:ProtoRecord, value:boolean) {\n this.changes[proto.selfIndex] = value;\n }\n\n _pureFuncAndArgsDidNotChange(proto:ProtoRecord):boolean {\n return proto.isPureFunction() && !this._argsChanged(proto);\n }\n\n _argsChanged(proto:ProtoRecord):boolean {\n var args = proto.args;\n for(var i = 0; i < args.length; ++i) {\n if (this.changes[args[i]]) {\n return true;\n }\n }\n return false;\n }\n\n _readArgs(proto:ProtoRecord) {\n var res = ListWrapper.createFixedSize(proto.args.length);\n var args = proto.args;\n for (var i = 0; i < args.length; ++i) {\n res[i] = this.values[args[i]];\n }\n return res;\n }\n}\n\nvar _singleElementList = [null];\n\nfunction isSame(a, b) {\n if (a === b) return true;\n if (a instanceof String && b instanceof String && a == b) return true;\n if ((a !== a) && (b !== b)) return true;\n return false;\n}\n","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","$traceurRuntime.superConstructor($__placeholder__0).call($__placeholder__1)","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)","assert.genericType($__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/exceptions.js b/angular2/src/change_detection/exceptions.js deleted file mode 100644 index 51de9aa..0000000 --- a/angular2/src/change_detection/exceptions.js +++ /dev/null @@ -1,43 +0,0 @@ -System.register(["./proto_record"], function($__export) { - "use strict"; - var ProtoRecord, - ExpressionChangedAfterItHasBeenChecked, - ChangeDetectionError; - return { - setters: [function($__m) { - ProtoRecord = $__m.ProtoRecord; - }], - execute: function() { - ExpressionChangedAfterItHasBeenChecked = $__export("ExpressionChangedAfterItHasBeenChecked", (function($__super) { - var ExpressionChangedAfterItHasBeenChecked = function ExpressionChangedAfterItHasBeenChecked(proto, change) { - $traceurRuntime.superConstructor(ExpressionChangedAfterItHasBeenChecked).call(this); - this.message = ("Expression '" + proto.expressionAsString + "' has changed after it was checked. ") + ("Previous value: '" + change.previousValue + "'. Current value: '" + change.currentValue + "'"); - }; - return ($traceurRuntime.createClass)(ExpressionChangedAfterItHasBeenChecked, {toString: function() { - return this.message; - }}, {}, $__super); - }(Error))); - Object.defineProperty(ExpressionChangedAfterItHasBeenChecked, "parameters", {get: function() { - return [[ProtoRecord], [assert.type.any]]; - }}); - ChangeDetectionError = $__export("ChangeDetectionError", (function($__super) { - var ChangeDetectionError = function ChangeDetectionError(proto, originalException) { - $traceurRuntime.superConstructor(ChangeDetectionError).call(this); - this.originalException = originalException; - this.location = proto.expressionAsString; - this.message = (this.originalException + " in [" + this.location + "]"); - }; - return ($traceurRuntime.createClass)(ChangeDetectionError, {toString: function() { - return this.message; - }}, {}, $__super); - }(Error))); - Object.defineProperty(ChangeDetectionError, "parameters", {get: function() { - return [[ProtoRecord], [assert.type.any]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/exceptions.map - -//# sourceMappingURL=../../src/change_detection/exceptions.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/exceptions.js.map b/angular2/src/change_detection/exceptions.js.map deleted file mode 100644 index 514aca6..0000000 --- a/angular2/src/change_detection/exceptions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/12","src/change_detection/exceptions.js","@traceur/generated/TemplateParser/11","src/change_detection/@traceur/generated/TemplateParser/24","src/change_detection/@traceur/generated/TemplateParser/23"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,oBAAoB,UAAS,SAAQ;;;;;ACApD,OAAO;AACD,UAAM,GCDZ,SAAS,IAAG,CAAG;ACAf,kBAAoB,KAAG,YAAkB,CAAC;IDElC,CDDuB;AACzB,UAAM;6CGFY,CAAA,SAAQ,AAAC,4CCAjC,SAAS,QAAO;AACN,AAAI,UAAA,yCCCP,SAAM,uCAAqC,CAGpC,KAAI,CAAe,CAAA,MAAK,CAAO;ACL7C,ADMI,wBCNU,iBAAiB,AAAC,wCAAkB,KAAK,MAAmB,CDM/D;AACP,aAAG,QAAQ,EAAI,EAAA,cAAe,EAAA,CAAA,KAAI,mBAAmB,EAAA,uCAAA,KACrD,mBAAoB,EAAA,CAAA,MAAK,cAAc,EAAA,sBAAuB,EAAA,CAAA,MAAK,aAAa,EAAA,IAAG,CAAA,CAAC;QDPtC,ACQhD,CDRiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC,0CCS5C,QAAO,CAAP,UAAQ,AAAU,CAAA;AAChB,iBAAO,CAAA,IAAG,QAAQ,CAAC;UACrB,MDVgE,SAAO,CAAC,CAAC;MACnE,AAAC,CCFmD,KAAI,CDErC,EDJ2C;AEctE,WEdK,eAAe,AAAC,CAAA,sCAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,EFIN,CAAA,WAAU,CAAA,CGL9B,EAAA,MAAK,KAAK,IAAA,CAAA,CAAA,CDCuC;QAAC,CAAC,CAAC,CAAC;2BJD7B,CAAA,SAAQ,AAAC,0BCAjC,SAAS,QAAO;AACN,AAAI,UAAA,uBCeP,SAAM,qBAAmB,CAKlB,KAAgB,CAAG,CAAA,iBAAgB,CAAO;ACrBxD,ADsBI,wBCtBU,iBAAiB,AAAC,sBAAkB,KAAK,MAAmB,CDsB/D;AACP,aAAG,kBAAkB,EAAI,kBAAgB,CAAC;AAC1C,aAAG,SAAS,EAAI,CAAA,KAAI,mBAAmB,CAAC;AACxC,aAAG,QAAQ,IAAO,IAAG,kBAAkB,EAAA,QAAS,EAAA,CAAA,IAAG,SAAS,EAAA,IAAG,CAAA,CAAC;QDxBlB,ACyBhD,CDzBiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC,wBC0B5C,QAAO,CAAP,UAAQ,AAAU,CAAA;AAChB,iBAAO,CAAA,IAAG,QAAQ,CAAC;UACrB,MD3BgE,SAAO,CAAC,CAAC;MACnE,AAAC,CCYiC,KAAI,CDZnB,EDJ2C;AIAtE,WAAK,eAAgB,CAAA,oBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,EFoBN,CAAA,WAAU,CAAA,CGrB9B,EAAA,MAAK,KAAK,IAAA,CAAA,CAAA,CDCuC;QAAC,CAAC,CAAC,CAAC;IPCtB;EAC3B,CAAA;ADDI,CAAC,CAAC;AM4B0B","file":"src/change_detection/exceptions.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","import {ProtoRecord} from './proto_record';\n\nexport class ExpressionChangedAfterItHasBeenChecked extends Error {\n message:string;\n\n constructor(proto:ProtoRecord, change:any) {\n super();\n this.message = `Expression '${proto.expressionAsString}' has changed after it was checked. ` +\n `Previous value: '${change.previousValue}'. Current value: '${change.currentValue}'`;\n }\n\n toString():string {\n return this.message;\n }\n}\n\nexport class ChangeDetectionError extends Error {\n message:string;\n originalException:any;\n location:string;\n\n constructor(proto:ProtoRecord, originalException:any) {\n super();\n this.originalException = originalException;\n this.location = proto.expressionAsString;\n this.message = `${this.originalException} in [${this.location}]`;\n }\n\n toString():string {\n return this.message;\n }\n}","$traceurRuntime.superConstructor($__placeholder__0).call($__placeholder__1)","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/interfaces.js b/angular2/src/change_detection/interfaces.js deleted file mode 100644 index 0d60785..0000000 --- a/angular2/src/change_detection/interfaces.js +++ /dev/null @@ -1,72 +0,0 @@ -System.register(["angular2/src/facade/collection", "./parser/locals"], function($__export) { - "use strict"; - var List, - Locals, - ChangeRecord, - CHECK_ONCE, - CHECKED, - CHECK_ALWAYS, - DETACHED, - ChangeDispatcher, - ChangeDetector; - return { - setters: [function($__m) { - List = $__m.List; - }, function($__m) { - Locals = $__m.Locals; - }], - execute: function() { - ChangeRecord = $__export("ChangeRecord", (function() { - var ChangeRecord = function ChangeRecord(bindingMemento, change) { - this.bindingMemento = bindingMemento; - this.change = change; - }; - return ($traceurRuntime.createClass)(ChangeRecord, { - get currentValue() { - return this.change.currentValue; - }, - get previousValue() { - return this.change.previousValue; - } - }, {}); - }())); - CHECK_ONCE = $__export("CHECK_ONCE", "CHECK_ONCE"); - CHECKED = $__export("CHECKED", "CHECKED"); - CHECK_ALWAYS = $__export("CHECK_ALWAYS", "ALWAYS_CHECK"); - DETACHED = $__export("DETACHED", "DETACHED"); - ChangeDispatcher = $__export("ChangeDispatcher", (function() { - var ChangeDispatcher = function ChangeDispatcher() {}; - return ($traceurRuntime.createClass)(ChangeDispatcher, {onRecordChange: function(directiveMemento, records) {}}, {}); - }())); - Object.defineProperty(ChangeDispatcher.prototype.onRecordChange, "parameters", {get: function() { - return [[], [assert.genericType(List, ChangeRecord)]]; - }}); - ChangeDetector = $__export("ChangeDetector", (function() { - var ChangeDetector = function ChangeDetector() {}; - return ($traceurRuntime.createClass)(ChangeDetector, { - addChild: function(cd) {}, - removeChild: function(cd) {}, - remove: function() {}, - hydrate: function(context, locals) {}, - dehydrate: function() {}, - markPathToRootAsCheckOnce: function() {}, - detectChanges: function() {}, - checkNoChanges: function() {} - }, {}); - }())); - Object.defineProperty(ChangeDetector.prototype.addChild, "parameters", {get: function() { - return [[ChangeDetector]]; - }}); - Object.defineProperty(ChangeDetector.prototype.removeChild, "parameters", {get: function() { - return [[ChangeDetector]]; - }}); - Object.defineProperty(ChangeDetector.prototype.hydrate, "parameters", {get: function() { - return [[assert.type.any], [Locals]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/interfaces.map - -//# sourceMappingURL=../../src/change_detection/interfaces.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/interfaces.js.map b/angular2/src/change_detection/interfaces.js.map deleted file mode 100644 index 6630732..0000000 --- a/angular2/src/change_detection/interfaces.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/interfaces.js","@traceur/generated/TemplateParser/7","src/change_detection/@traceur/generated/TemplateParser/24","src/change_detection/@traceur/generated/TemplateParser/37","src/change_detection/@traceur/generated/TemplateParser/23"],"names":[],"mappings":"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","file":"src/change_detection/interfaces.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","import {List} from 'angular2/src/facade/collection';\nimport {Locals} from './parser/locals';\n\nexport class ChangeRecord {\n bindingMemento:any;\n change:any;\n\n constructor(bindingMemento, change) {\n this.bindingMemento = bindingMemento;\n this.change = change;\n }\n\n //REMOVE IT\n get currentValue() {\n return this.change.currentValue;\n }\n\n get previousValue() {\n return this.change.previousValue;\n }\n}\n\n\n/**\n * CHECK_ONCE means that after calling detectChanges the mode of the change detector\n * will become CHECKED.\n */\nexport const CHECK_ONCE=\"CHECK_ONCE\";\n\n/**\n * CHECKED means that the change detector should be skipped until its mode changes to\n * CHECK_ONCE or CHECK_ALWAYS.\n */\nexport const CHECKED=\"CHECKED\";\n\n/**\n * CHECK_ALWAYS means that after calling detectChanges the mode of the change detector\n * will remain CHECK_ALWAYS.\n */\nexport const CHECK_ALWAYS=\"ALWAYS_CHECK\";\n\n/**\n * DETACHED means that the change detector sub tree is not a part of the main tree and\n * should be skipped.\n */\nexport const DETACHED=\"DETACHED\";\n\nexport class ChangeDispatcher {\n onRecordChange(directiveMemento, records:List) {}\n}\n\nexport class ChangeDetector {\n parent:ChangeDetector;\n mode:string;\n\n addChild(cd:ChangeDetector) {}\n removeChild(cd:ChangeDetector) {}\n remove() {}\n hydrate(context:any, locals:Locals) {}\n dehydrate() {}\n markPathToRootAsCheckOnce() {}\n\n detectChanges() {}\n checkNoChanges() {}\n}\n","$__export($__placeholder__0, $__placeholder__1)","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.genericType($__placeholder__0)","assert.type.$__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/parser/ast.js b/angular2/src/change_detection/parser/ast.js deleted file mode 100644 index 3220191..0000000 --- a/angular2/src/change_detection/parser/ast.js +++ /dev/null @@ -1,549 +0,0 @@ -System.register(["angular2/src/facade/lang", "angular2/src/facade/collection"], function($__export) { - "use strict"; - var autoConvertAdd, - isBlank, - isPresent, - FunctionWrapper, - BaseException, - List, - Map, - ListWrapper, - StringMapWrapper, - AST, - EmptyExpr, - ImplicitReceiver, - Chain, - Conditional, - AccessMember, - KeyedAccess, - Pipe, - LiteralPrimitive, - LiteralArray, - LiteralMap, - Interpolation, - Binary, - PrefixNot, - Assignment, - MethodCall, - FunctionCall, - ASTWithSource, - TemplateBinding, - AstVisitor, - _evalListCache; - function evalList(context, locals, exps) { - var length = exps.length; - if (length > 10) { - throw new BaseException("Cannot have more than 10 argument"); - } - var result = _evalListCache[length]; - for (var i = 0; i < length; i++) { - result[i] = exps[i].eval(context, locals); - } - return result; - } - return { - setters: [function($__m) { - autoConvertAdd = $__m.autoConvertAdd; - isBlank = $__m.isBlank; - isPresent = $__m.isPresent; - FunctionWrapper = $__m.FunctionWrapper; - BaseException = $__m.BaseException; - }, function($__m) { - List = $__m.List; - Map = $__m.Map; - ListWrapper = $__m.ListWrapper; - StringMapWrapper = $__m.StringMapWrapper; - }], - execute: function() { - AST = $__export("AST", (function() { - var AST = function AST() {}; - return ($traceurRuntime.createClass)(AST, { - eval: function(context, locals) { - throw new BaseException("Not supported"); - }, - get isAssignable() { - return false; - }, - assign: function(context, locals, value) { - throw new BaseException("Not supported"); - }, - visit: function(visitor) {}, - toString: function() { - return "AST"; - } - }, {}); - }())); - EmptyExpr = $__export("EmptyExpr", (function($__super) { - var EmptyExpr = function EmptyExpr() { - $traceurRuntime.superConstructor(EmptyExpr).apply(this, arguments); - }; - return ($traceurRuntime.createClass)(EmptyExpr, { - eval: function(context, locals) { - return null; - }, - visit: function(visitor) {} - }, {}, $__super); - }(AST))); - ImplicitReceiver = $__export("ImplicitReceiver", (function($__super) { - var ImplicitReceiver = function ImplicitReceiver() { - $traceurRuntime.superConstructor(ImplicitReceiver).apply(this, arguments); - }; - return ($traceurRuntime.createClass)(ImplicitReceiver, { - eval: function(context, locals) { - return context; - }, - visit: function(visitor) { - return visitor.visitImplicitReceiver(this); - } - }, {}, $__super); - }(AST))); - Chain = $__export("Chain", (function($__super) { - var Chain = function Chain(expressions) { - $traceurRuntime.superConstructor(Chain).call(this); - this.expressions = expressions; - }; - return ($traceurRuntime.createClass)(Chain, { - eval: function(context, locals) { - var result; - for (var i = 0; i < this.expressions.length; i++) { - var last = this.expressions[i].eval(context, locals); - if (isPresent(last)) - result = last; - } - return result; - }, - visit: function(visitor) { - return visitor.visitChain(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(Chain, "parameters", {get: function() { - return [[List]]; - }}); - Conditional = $__export("Conditional", (function($__super) { - var Conditional = function Conditional(condition, trueExp, falseExp) { - $traceurRuntime.superConstructor(Conditional).call(this); - this.condition = condition; - this.trueExp = trueExp; - this.falseExp = falseExp; - }; - return ($traceurRuntime.createClass)(Conditional, { - eval: function(context, locals) { - if (this.condition.eval(context, locals)) { - return this.trueExp.eval(context, locals); - } else { - return this.falseExp.eval(context, locals); - } - }, - visit: function(visitor) { - return visitor.visitConditional(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(Conditional, "parameters", {get: function() { - return [[AST], [AST], [AST]]; - }}); - AccessMember = $__export("AccessMember", (function($__super) { - var AccessMember = function AccessMember(receiver, name, getter, setter) { - $traceurRuntime.superConstructor(AccessMember).call(this); - this.receiver = receiver; - this.name = name; - this.getter = getter; - this.setter = setter; - }; - return ($traceurRuntime.createClass)(AccessMember, { - eval: function(context, locals) { - if (this.receiver instanceof ImplicitReceiver && isPresent(locals) && locals.contains(this.name)) { - return locals.get(this.name); - } else { - var evaluatedReceiver = this.receiver.eval(context, locals); - return this.getter(evaluatedReceiver); - } - }, - get isAssignable() { - return true; - }, - assign: function(context, locals, value) { - var evaluatedContext = this.receiver.eval(context, locals); - if (this.receiver instanceof ImplicitReceiver && isPresent(locals) && locals.contains(this.name)) { - throw new BaseException(("Cannot reassign a variable binding " + this.name)); - } else { - return this.setter(evaluatedContext, value); - } - }, - visit: function(visitor) { - return visitor.visitAccessMember(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(AccessMember, "parameters", {get: function() { - return [[AST], [assert.type.string], [Function], [Function]]; - }}); - KeyedAccess = $__export("KeyedAccess", (function($__super) { - var KeyedAccess = function KeyedAccess(obj, key) { - $traceurRuntime.superConstructor(KeyedAccess).call(this); - this.obj = obj; - this.key = key; - }; - return ($traceurRuntime.createClass)(KeyedAccess, { - eval: function(context, locals) { - var obj = this.obj.eval(context, locals); - var key = this.key.eval(context, locals); - return obj[key]; - }, - get isAssignable() { - return true; - }, - assign: function(context, locals, value) { - var obj = this.obj.eval(context, locals); - var key = this.key.eval(context, locals); - obj[key] = value; - return value; - }, - visit: function(visitor) { - return visitor.visitKeyedAccess(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(KeyedAccess, "parameters", {get: function() { - return [[AST], [AST]]; - }}); - Pipe = $__export("Pipe", (function($__super) { - var Pipe = function Pipe(exp, name, args) { - $traceurRuntime.superConstructor(Pipe).call(this); - this.exp = exp; - this.name = name; - this.args = args; - }; - return ($traceurRuntime.createClass)(Pipe, {visit: function(visitor) { - return visitor.visitPipe(this); - }}, {}, $__super); - }(AST))); - Object.defineProperty(Pipe, "parameters", {get: function() { - return [[AST], [assert.type.string], [List]]; - }}); - LiteralPrimitive = $__export("LiteralPrimitive", (function($__super) { - var LiteralPrimitive = function LiteralPrimitive(value) { - $traceurRuntime.superConstructor(LiteralPrimitive).call(this); - this.value = value; - }; - return ($traceurRuntime.createClass)(LiteralPrimitive, { - eval: function(context, locals) { - return this.value; - }, - visit: function(visitor) { - return visitor.visitLiteralPrimitive(this); - } - }, {}, $__super); - }(AST))); - LiteralArray = $__export("LiteralArray", (function($__super) { - var LiteralArray = function LiteralArray(expressions) { - $traceurRuntime.superConstructor(LiteralArray).call(this); - this.expressions = expressions; - }; - return ($traceurRuntime.createClass)(LiteralArray, { - eval: function(context, locals) { - return ListWrapper.map(this.expressions, (function(e) { - return e.eval(context, locals); - })); - }, - visit: function(visitor) { - return visitor.visitLiteralArray(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(LiteralArray, "parameters", {get: function() { - return [[List]]; - }}); - LiteralMap = $__export("LiteralMap", (function($__super) { - var LiteralMap = function LiteralMap(keys, values) { - $traceurRuntime.superConstructor(LiteralMap).call(this); - this.keys = keys; - this.values = values; - }; - return ($traceurRuntime.createClass)(LiteralMap, { - eval: function(context, locals) { - var res = StringMapWrapper.create(); - for (var i = 0; i < this.keys.length; ++i) { - StringMapWrapper.set(res, this.keys[i], this.values[i].eval(context, locals)); - } - return res; - }, - visit: function(visitor) { - return visitor.visitLiteralMap(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(LiteralMap, "parameters", {get: function() { - return [[List], [List]]; - }}); - Interpolation = $__export("Interpolation", (function($__super) { - var Interpolation = function Interpolation(strings, expressions) { - $traceurRuntime.superConstructor(Interpolation).call(this); - this.strings = strings; - this.expressions = expressions; - }; - return ($traceurRuntime.createClass)(Interpolation, { - eval: function(context, locals) { - throw new BaseException("evaluating an Interpolation is not supported"); - }, - visit: function(visitor) { - visitor.visitInterpolation(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(Interpolation, "parameters", {get: function() { - return [[List], [List]]; - }}); - Binary = $__export("Binary", (function($__super) { - var Binary = function Binary(operation, left, right) { - $traceurRuntime.superConstructor(Binary).call(this); - this.operation = operation; - this.left = left; - this.right = right; - }; - return ($traceurRuntime.createClass)(Binary, { - eval: function(context, locals) { - var left = this.left.eval(context, locals); - switch (this.operation) { - case '&&': - return left && this.right.eval(context, locals); - case '||': - return left || this.right.eval(context, locals); - } - var right = this.right.eval(context, locals); - switch (this.operation) { - case '+': - return left + right; - case '-': - return left - right; - case '*': - return left * right; - case '/': - return left / right; - case '%': - return left % right; - case '==': - return left == right; - case '!=': - return left != right; - case '<': - return left < right; - case '>': - return left > right; - case '<=': - return left <= right; - case '>=': - return left >= right; - case '^': - return left ^ right; - case '&': - return left & right; - } - throw 'Internal error [$operation] not handled'; - }, - visit: function(visitor) { - return visitor.visitBinary(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(Binary, "parameters", {get: function() { - return [[assert.type.string], [AST], [AST]]; - }}); - PrefixNot = $__export("PrefixNot", (function($__super) { - var PrefixNot = function PrefixNot(expression) { - $traceurRuntime.superConstructor(PrefixNot).call(this); - this.expression = expression; - }; - return ($traceurRuntime.createClass)(PrefixNot, { - eval: function(context, locals) { - return !this.expression.eval(context, locals); - }, - visit: function(visitor) { - return visitor.visitPrefixNot(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(PrefixNot, "parameters", {get: function() { - return [[AST]]; - }}); - Assignment = $__export("Assignment", (function($__super) { - var Assignment = function Assignment(target, value) { - $traceurRuntime.superConstructor(Assignment).call(this); - this.target = target; - this.value = value; - }; - return ($traceurRuntime.createClass)(Assignment, { - eval: function(context, locals) { - return this.target.assign(context, locals, this.value.eval(context, locals)); - }, - visit: function(visitor) { - return visitor.visitAssignment(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(Assignment, "parameters", {get: function() { - return [[AST], [AST]]; - }}); - MethodCall = $__export("MethodCall", (function($__super) { - var MethodCall = function MethodCall(receiver, name, fn, args) { - $traceurRuntime.superConstructor(MethodCall).call(this); - this.receiver = receiver; - this.fn = fn; - this.args = args; - this.name = name; - }; - return ($traceurRuntime.createClass)(MethodCall, { - eval: function(context, locals) { - var evaluatedArgs = evalList(context, locals, this.args); - if (this.receiver instanceof ImplicitReceiver && isPresent(locals) && locals.contains(this.name)) { - var fn = locals.get(this.name); - return FunctionWrapper.apply(fn, evaluatedArgs); - } else { - var evaluatedReceiver = this.receiver.eval(context, locals); - return this.fn(evaluatedReceiver, evaluatedArgs); - } - }, - visit: function(visitor) { - return visitor.visitMethodCall(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(MethodCall, "parameters", {get: function() { - return [[AST], [assert.type.string], [Function], [List]]; - }}); - FunctionCall = $__export("FunctionCall", (function($__super) { - var FunctionCall = function FunctionCall(target, args) { - $traceurRuntime.superConstructor(FunctionCall).call(this); - this.target = target; - this.args = args; - }; - return ($traceurRuntime.createClass)(FunctionCall, { - eval: function(context, locals) { - var obj = this.target.eval(context, locals); - if (!(obj instanceof Function)) { - throw new BaseException((obj + " is not a function")); - } - return FunctionWrapper.apply(obj, evalList(context, locals, this.args)); - }, - visit: function(visitor) { - return visitor.visitFunctionCall(this); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(FunctionCall, "parameters", {get: function() { - return [[AST], [List]]; - }}); - ASTWithSource = $__export("ASTWithSource", (function($__super) { - var ASTWithSource = function ASTWithSource(ast, source, location) { - $traceurRuntime.superConstructor(ASTWithSource).call(this); - this.source = source; - this.location = location; - this.ast = ast; - }; - return ($traceurRuntime.createClass)(ASTWithSource, { - eval: function(context, locals) { - return this.ast.eval(context, locals); - }, - get isAssignable() { - return this.ast.isAssignable; - }, - assign: function(context, locals, value) { - return this.ast.assign(context, locals, value); - }, - visit: function(visitor) { - return this.ast.visit(visitor); - }, - toString: function() { - return (this.source + " in " + this.location); - } - }, {}, $__super); - }(AST))); - Object.defineProperty(ASTWithSource, "parameters", {get: function() { - return [[AST], [assert.type.string], [assert.type.string]]; - }}); - TemplateBinding = $__export("TemplateBinding", (function() { - var TemplateBinding = function TemplateBinding(key, keyIsVar, name, expression) { - $traceurRuntime.superConstructor(TemplateBinding).call(this); - this.key = key; - this.keyIsVar = keyIsVar; - this.name = name; - this.expression = expression; - }; - return ($traceurRuntime.createClass)(TemplateBinding, {}, {}); - }())); - Object.defineProperty(TemplateBinding, "parameters", {get: function() { - return [[assert.type.string], [assert.type.boolean], [assert.type.string], [ASTWithSource]]; - }}); - AstVisitor = $__export("AstVisitor", (function() { - var AstVisitor = function AstVisitor() {}; - return ($traceurRuntime.createClass)(AstVisitor, { - visitAccessMember: function(ast) {}, - visitAssignment: function(ast) {}, - visitBinary: function(ast) {}, - visitChain: function(ast) {}, - visitConditional: function(ast) {}, - visitPipe: function(ast) {}, - visitFunctionCall: function(ast) {}, - visitImplicitReceiver: function(ast) {}, - visitKeyedAccess: function(ast) {}, - visitLiteralArray: function(ast) {}, - visitLiteralMap: function(ast) {}, - visitLiteralPrimitive: function(ast) {}, - visitMethodCall: function(ast) {}, - visitPrefixNot: function(ast) {} - }, {}); - }())); - Object.defineProperty(AstVisitor.prototype.visitAccessMember, "parameters", {get: function() { - return [[AccessMember]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitAssignment, "parameters", {get: function() { - return [[Assignment]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitBinary, "parameters", {get: function() { - return [[Binary]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitChain, "parameters", {get: function() { - return [[Chain]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitConditional, "parameters", {get: function() { - return [[Conditional]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitPipe, "parameters", {get: function() { - return [[Pipe]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitFunctionCall, "parameters", {get: function() { - return [[FunctionCall]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitImplicitReceiver, "parameters", {get: function() { - return [[ImplicitReceiver]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitKeyedAccess, "parameters", {get: function() { - return [[KeyedAccess]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitLiteralArray, "parameters", {get: function() { - return [[LiteralArray]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitLiteralMap, "parameters", {get: function() { - return [[LiteralMap]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitLiteralPrimitive, "parameters", {get: function() { - return [[LiteralPrimitive]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitMethodCall, "parameters", {get: function() { - return [[MethodCall]]; - }}); - Object.defineProperty(AstVisitor.prototype.visitPrefixNot, "parameters", {get: function() { - return [[PrefixNot]]; - }}); - _evalListCache = [[], [0], [0, 0], [0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0]]; - Object.defineProperty(evalList, "parameters", {get: function() { - return [[], [], [List]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/parser/ast.map - -//# sourceMappingURL=../../../src/change_detection/parser/ast.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/parser/ast.js.map b/angular2/src/change_detection/parser/ast.js.map deleted file mode 100644 index faca99e..0000000 --- a/angular2/src/change_detection/parser/ast.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","src/change_detection/parser/ast.js","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","@traceur/generated/TemplateParser/12","@traceur/generated/TemplateParser/15","@traceur/generated/TemplateParser/11","src/change_detection/parser/@traceur/generated/TemplateParser/24","src/change_detection/parser/@traceur/generated/TemplateParser/23"],"names":[],"mappings":"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","file":"src/change_detection/parser/ast.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","import {autoConvertAdd, isBlank, isPresent, FunctionWrapper, BaseException} from \"angular2/src/facade/lang\";\nimport {List, Map, ListWrapper, StringMapWrapper} from \"angular2/src/facade/collection\";\n\nexport class AST {\n eval(context, locals) {\n throw new BaseException(\"Not supported\");\n }\n\n get isAssignable() {\n return false;\n }\n\n assign(context, locals, value) {\n throw new BaseException(\"Not supported\");\n }\n\n visit(visitor) {\n }\n\n toString():string {\n return \"AST\";\n }\n}\n\nexport class EmptyExpr extends AST {\n eval(context, locals) {\n return null;\n }\n\n visit(visitor) {\n //do nothing\n }\n}\n\nexport class ImplicitReceiver extends AST {\n eval(context, locals) {\n return context;\n }\n\n visit(visitor) {\n return visitor.visitImplicitReceiver(this);\n }\n}\n\n/**\n * Multiple expressions separated by a semicolon.\n */\nexport class Chain extends AST {\n expressions:List;\n constructor(expressions:List) {\n super();\n this.expressions = expressions;\n }\n\n eval(context, locals) {\n var result;\n for (var i = 0; i < this.expressions.length; i++) {\n var last = this.expressions[i].eval(context, locals);\n if (isPresent(last)) result = last;\n }\n return result;\n }\n\n visit(visitor) {\n return visitor.visitChain(this);\n }\n}\n\nexport class Conditional extends AST {\n condition:AST;\n trueExp:AST;\n falseExp:AST;\n constructor(condition:AST, trueExp:AST, falseExp:AST){\n super();\n this.condition = condition;\n this.trueExp = trueExp;\n this.falseExp = falseExp;\n }\n\n eval(context, locals) {\n if(this.condition.eval(context, locals)) {\n return this.trueExp.eval(context, locals);\n } else {\n return this.falseExp.eval(context, locals);\n }\n }\n\n visit(visitor) {\n return visitor.visitConditional(this);\n }\n}\n\nexport class AccessMember extends AST {\n receiver:AST;\n name:string;\n getter:Function;\n setter:Function;\n constructor(receiver:AST, name:string, getter:Function, setter:Function) {\n super();\n this.receiver = receiver;\n this.name = name;\n this.getter = getter;\n this.setter = setter;\n }\n\n eval(context, locals) {\n if (this.receiver instanceof ImplicitReceiver &&\n isPresent(locals) && locals.contains(this.name)) {\n return locals.get(this.name);\n } else {\n var evaluatedReceiver = this.receiver.eval(context, locals);\n return this.getter(evaluatedReceiver);\n }\n }\n\n get isAssignable() {\n return true;\n }\n\n assign(context, locals, value) {\n var evaluatedContext = this.receiver.eval(context, locals);\n\n if (this.receiver instanceof ImplicitReceiver &&\n isPresent(locals) && locals.contains(this.name)) {\n throw new BaseException(`Cannot reassign a variable binding ${this.name}`);\n } else {\n return this.setter(evaluatedContext, value);\n }\n }\n\n visit(visitor) {\n return visitor.visitAccessMember(this);\n }\n}\n\nexport class KeyedAccess extends AST {\n obj:AST;\n key:AST;\n constructor(obj:AST, key:AST) {\n super();\n this.obj = obj;\n this.key = key;\n }\n\n eval(context, locals) {\n var obj = this.obj.eval(context, locals);\n var key = this.key.eval(context, locals);\n return obj[key];\n }\n\n get isAssignable() {\n return true;\n }\n\n assign(context, locals, value) {\n var obj = this.obj.eval(context, locals);\n var key = this.key.eval(context, locals);\n obj[key] = value;\n return value;\n }\n\n visit(visitor) {\n return visitor.visitKeyedAccess(this);\n }\n}\n\nexport class Pipe extends AST {\n exp:AST;\n name:string;\n args:List;\n constructor(exp:AST, name:string, args:List) {\n super();\n this.exp = exp;\n this.name = name;\n this.args = args;\n }\n\n visit(visitor) {\n return visitor.visitPipe(this);\n }\n}\n\nexport class LiteralPrimitive extends AST {\n value;\n constructor(value) {\n super();\n this.value = value;\n }\n\n eval(context, locals) {\n return this.value;\n }\n\n visit(visitor) {\n return visitor.visitLiteralPrimitive(this);\n }\n}\n\nexport class LiteralArray extends AST {\n expressions:List;\n constructor(expressions:List) {\n super();\n this.expressions = expressions;\n }\n\n eval(context, locals) {\n return ListWrapper.map(this.expressions, (e) => e.eval(context, locals));\n }\n\n visit(visitor) {\n return visitor.visitLiteralArray(this);\n }\n}\n\nexport class LiteralMap extends AST {\n keys:List;\n values:List;\n constructor(keys:List, values:List) {\n super();\n this.keys = keys;\n this.values = values;\n }\n\n eval(context, locals) {\n var res = StringMapWrapper.create();\n for(var i = 0; i < this.keys.length; ++i) {\n StringMapWrapper.set(res, this.keys[i], this.values[i].eval(context, locals));\n }\n return res;\n }\n\n visit(visitor) {\n return visitor.visitLiteralMap(this);\n }\n}\n\nexport class Interpolation extends AST {\n strings:List;\n expressions:List;\n constructor(strings:List, expressions:List) {\n super();\n this.strings = strings;\n this.expressions = expressions;\n }\n\n eval(context, locals) {\n throw new BaseException(\"evaluating an Interpolation is not supported\");\n }\n\n visit(visitor) {\n visitor.visitInterpolation(this);\n }\n}\n\nexport class Binary extends AST {\n operation:string;\n left:AST;\n right:AST;\n constructor(operation:string, left:AST, right:AST) {\n super();\n this.operation = operation;\n this.left = left;\n this.right = right;\n }\n\n eval(context, locals) {\n var left = this.left.eval(context, locals);\n switch (this.operation) {\n case '&&': return left && this.right.eval(context, locals);\n case '||': return left || this.right.eval(context, locals);\n }\n var right = this.right.eval(context, locals);\n\n switch (this.operation) {\n case '+' : return left + right;\n case '-' : return left - right;\n case '*' : return left * right;\n case '/' : return left / right;\n case '%' : return left % right;\n case '==' : return left == right;\n case '!=' : return left != right;\n case '<' : return left < right;\n case '>' : return left > right;\n case '<=' : return left <= right;\n case '>=' : return left >= right;\n case '^' : return left ^ right;\n case '&' : return left & right;\n }\n throw 'Internal error [$operation] not handled';\n }\n\n visit(visitor) {\n return visitor.visitBinary(this);\n }\n}\n\nexport class PrefixNot extends AST {\n expression:AST;\n constructor(expression:AST) {\n super();\n this.expression = expression;\n }\n\n eval(context, locals) {\n return !this.expression.eval(context, locals);\n }\n\n visit(visitor) {\n return visitor.visitPrefixNot(this);\n }\n}\n\nexport class Assignment extends AST {\n target:AST;\n value:AST;\n constructor(target:AST, value:AST) {\n super();\n this.target = target;\n this.value = value;\n }\n\n eval(context, locals) {\n return this.target.assign(context, locals, this.value.eval(context, locals));\n }\n\n visit(visitor) {\n return visitor.visitAssignment(this);\n }\n}\n\nexport class MethodCall extends AST {\n receiver:AST;\n fn:Function;\n args:List;\n name:string;\n constructor(receiver:AST, name:string, fn:Function, args:List) {\n super();\n this.receiver = receiver;\n this.fn = fn;\n this.args = args;\n this.name = name;\n }\n\n eval(context, locals) {\n var evaluatedArgs = evalList(context, locals, this.args);\n if (this.receiver instanceof ImplicitReceiver &&\n isPresent(locals) && locals.contains(this.name)) {\n var fn = locals.get(this.name);\n return FunctionWrapper.apply(fn, evaluatedArgs);\n } else {\n var evaluatedReceiver = this.receiver.eval(context, locals);\n return this.fn(evaluatedReceiver, evaluatedArgs);\n }\n }\n\n visit(visitor) {\n return visitor.visitMethodCall(this);\n }\n}\n\nexport class FunctionCall extends AST {\n target:AST;\n args:List;\n constructor(target:AST, args:List) {\n super();\n this.target = target;\n this.args = args;\n }\n\n eval(context, locals) {\n var obj = this.target.eval(context, locals);\n if (! (obj instanceof Function)) {\n throw new BaseException(`${obj} is not a function`);\n }\n return FunctionWrapper.apply(obj, evalList(context, locals, this.args));\n }\n\n visit(visitor) {\n return visitor.visitFunctionCall(this);\n }\n}\n\nexport class ASTWithSource extends AST {\n ast:AST;\n source:string;\n location:string;\n constructor(ast:AST, source:string, location:string) {\n super();\n this.source = source;\n this.location = location;\n this.ast = ast;\n }\n\n eval(context, locals) {\n return this.ast.eval(context, locals);\n }\n\n get isAssignable() {\n return this.ast.isAssignable;\n }\n\n assign(context, locals, value) {\n return this.ast.assign(context, locals, value);\n }\n\n visit(visitor) {\n return this.ast.visit(visitor);\n }\n\n toString():string {\n return `${this.source} in ${this.location}`;\n }\n}\n\nexport class TemplateBinding {\n key:string;\n keyIsVar:boolean;\n name:string;\n expression:ASTWithSource;\n constructor(key:string, keyIsVar:boolean, name:string, expression:ASTWithSource) {\n super();\n this.key = key;\n this.keyIsVar = keyIsVar;\n // only either name or expression will be filled.\n this.name = name;\n this.expression = expression;\n }\n}\n\n//INTERFACE\nexport class AstVisitor {\n visitAccessMember(ast:AccessMember) {}\n visitAssignment(ast:Assignment) {}\n visitBinary(ast:Binary) {}\n visitChain(ast:Chain){}\n visitConditional(ast:Conditional) {}\n visitPipe(ast:Pipe) {}\n visitFunctionCall(ast:FunctionCall) {}\n visitImplicitReceiver(ast:ImplicitReceiver) {}\n visitKeyedAccess(ast:KeyedAccess) {}\n visitLiteralArray(ast:LiteralArray) {}\n visitLiteralMap(ast:LiteralMap) {}\n visitLiteralPrimitive(ast:LiteralPrimitive) {}\n visitMethodCall(ast:MethodCall) {}\n visitPrefixNot(ast:PrefixNot) {}\n}\n\nvar _evalListCache = [[],[0],[0,0],[0,0,0],[0,0,0,0],[0,0,0,0,0],\n [0,0,0,0,0,0], [0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0],\n [0,0,0,0,0,0,0,0,0]];\n\nfunction evalList(context, locals, exps:List){\n var length = exps.length;\n if (length > 10) {\n throw new BaseException(\"Cannot have more than 10 argument\");\n }\n\n var result = _evalListCache[length];\n for (var i = 0; i < length; i++) {\n result[i] = exps[i].eval(context, locals);\n }\n return result;\n}\n","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","$traceurRuntime.superConstructor(\n $__placeholder__0).apply(this, arguments)","$traceurRuntime.superConstructor($__placeholder__0).call($__placeholder__1)","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/parser/lexer.js b/angular2/src/change_detection/parser/lexer.js deleted file mode 100644 index 9be80c6..0000000 --- a/angular2/src/change_detection/parser/lexer.js +++ /dev/null @@ -1,580 +0,0 @@ -System.register(["angular2/di", "angular2/src/facade/collection", "angular2/src/facade/lang"], function($__export) { - "use strict"; - var Injectable, - List, - ListWrapper, - SetWrapper, - int, - NumberWrapper, - StringJoiner, - StringWrapper, - TOKEN_TYPE_CHARACTER, - TOKEN_TYPE_IDENTIFIER, - TOKEN_TYPE_KEYWORD, - TOKEN_TYPE_STRING, - TOKEN_TYPE_OPERATOR, - TOKEN_TYPE_NUMBER, - Lexer, - Token, - EOF, - $EOF, - $TAB, - $LF, - $VTAB, - $FF, - $CR, - $SPACE, - $BANG, - $DQ, - $HASH, - $$, - $PERCENT, - $AMPERSAND, - $SQ, - $LPAREN, - $RPAREN, - $STAR, - $PLUS, - $COMMA, - $MINUS, - $PERIOD, - $SLASH, - $COLON, - $SEMICOLON, - $LT, - $EQ, - $GT, - $QUESTION, - $0, - $9, - $A, - $B, - $C, - $D, - $E, - $F, - $G, - $H, - $I, - $J, - $K, - $L, - $M, - $N, - $O, - $P, - $Q, - $R, - $S, - $T, - $U, - $V, - $W, - $X, - $Y, - $Z, - $LBRACKET, - $BACKSLASH, - $RBRACKET, - $CARET, - $_, - $a, - $b, - $c, - $d, - $e, - $f, - $g, - $h, - $i, - $j, - $k, - $l, - $m, - $n, - $o, - $p, - $q, - $r, - $s, - $t, - $u, - $v, - $w, - $x, - $y, - $z, - $LBRACE, - $BAR, - $RBRACE, - $TILDE, - $NBSP, - ScannerError, - _Scanner, - OPERATORS, - KEYWORDS; - function newCharacterToken(index, code) { - return new Token(index, TOKEN_TYPE_CHARACTER, code, StringWrapper.fromCharCode(code)); - } - function newIdentifierToken(index, text) { - return new Token(index, TOKEN_TYPE_IDENTIFIER, 0, text); - } - function newKeywordToken(index, text) { - return new Token(index, TOKEN_TYPE_KEYWORD, 0, text); - } - function newOperatorToken(index, text) { - return new Token(index, TOKEN_TYPE_OPERATOR, 0, text); - } - function newStringToken(index, text) { - return new Token(index, TOKEN_TYPE_STRING, 0, text); - } - function newNumberToken(index, n) { - return new Token(index, TOKEN_TYPE_NUMBER, n, ""); - } - function isWhitespace(code) { - return (code >= $TAB && code <= $SPACE) || (code == $NBSP); - } - function isIdentifierStart(code) { - return ($a <= code && code <= $z) || ($A <= code && code <= $Z) || (code == $_) || (code == $$); - } - function isIdentifierPart(code) { - return ($a <= code && code <= $z) || ($A <= code && code <= $Z) || ($0 <= code && code <= $9) || (code == $_) || (code == $$); - } - function isDigit(code) { - return $0 <= code && code <= $9; - } - function isExponentStart(code) { - return code == $e || code == $E; - } - function isExponentSign(code) { - return code == $MINUS || code == $PLUS; - } - function unescape(code) { - switch (code) { - case $n: - return $LF; - case $f: - return $FF; - case $r: - return $CR; - case $t: - return $TAB; - case $v: - return $VTAB; - default: - return code; - } - } - return { - setters: [function($__m) { - Injectable = $__m.Injectable; - }, function($__m) { - List = $__m.List; - ListWrapper = $__m.ListWrapper; - SetWrapper = $__m.SetWrapper; - }, function($__m) { - int = $__m.int; - NumberWrapper = $__m.NumberWrapper; - StringJoiner = $__m.StringJoiner; - StringWrapper = $__m.StringWrapper; - }], - execute: function() { - TOKEN_TYPE_CHARACTER = $__export("TOKEN_TYPE_CHARACTER", 1); - TOKEN_TYPE_IDENTIFIER = $__export("TOKEN_TYPE_IDENTIFIER", 2); - TOKEN_TYPE_KEYWORD = $__export("TOKEN_TYPE_KEYWORD", 3); - TOKEN_TYPE_STRING = $__export("TOKEN_TYPE_STRING", 4); - TOKEN_TYPE_OPERATOR = $__export("TOKEN_TYPE_OPERATOR", 5); - TOKEN_TYPE_NUMBER = $__export("TOKEN_TYPE_NUMBER", 6); - Lexer = $__export("Lexer", (function() { - var Lexer = function Lexer() {}; - return ($traceurRuntime.createClass)(Lexer, {tokenize: function(text) { - var scanner = new _Scanner(text); - var tokens = []; - var token = scanner.scanToken(); - while (token != null) { - ListWrapper.push(tokens, token); - token = scanner.scanToken(); - } - return tokens; - }}, {}); - }())); - Object.defineProperty(Lexer, "annotations", {get: function() { - return [new Injectable()]; - }}); - Object.defineProperty(Lexer.prototype.tokenize, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - Token = $__export("Token", (function() { - var Token = function Token(index, type, numValue, strValue) { - this.index = index; - this.type = type; - this._numValue = numValue; - this._strValue = strValue; - }; - return ($traceurRuntime.createClass)(Token, { - isCharacter: function(code) { - return (this.type == TOKEN_TYPE_CHARACTER && this._numValue == code); - }, - isNumber: function() { - return (this.type == TOKEN_TYPE_NUMBER); - }, - isString: function() { - return (this.type == TOKEN_TYPE_STRING); - }, - isOperator: function(operater) { - return (this.type == TOKEN_TYPE_OPERATOR && this._strValue == operater); - }, - isIdentifier: function() { - return (this.type == TOKEN_TYPE_IDENTIFIER); - }, - isKeyword: function() { - return (this.type == TOKEN_TYPE_KEYWORD); - }, - isKeywordVar: function() { - return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == "var"); - }, - isKeywordNull: function() { - return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == "null"); - }, - isKeywordUndefined: function() { - return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == "undefined"); - }, - isKeywordTrue: function() { - return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == "true"); - }, - isKeywordFalse: function() { - return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == "false"); - }, - toNumber: function() { - return (this.type == TOKEN_TYPE_NUMBER) ? this._numValue : -1; - }, - toString: function() { - var type = this.type; - if (type >= TOKEN_TYPE_CHARACTER && type <= TOKEN_TYPE_STRING) { - return this._strValue; - } else if (type == TOKEN_TYPE_NUMBER) { - return this._numValue.toString(); - } else { - return null; - } - } - }, {}); - }())); - Object.defineProperty(Token, "parameters", {get: function() { - return [[int], [int], [assert.type.number], [assert.type.string]]; - }}); - Object.defineProperty(Token.prototype.isCharacter, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(Token.prototype.isOperator, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - Object.defineProperty(newCharacterToken, "parameters", {get: function() { - return [[int], [int]]; - }}); - Object.defineProperty(newIdentifierToken, "parameters", {get: function() { - return [[int], [assert.type.string]]; - }}); - Object.defineProperty(newKeywordToken, "parameters", {get: function() { - return [[int], [assert.type.string]]; - }}); - Object.defineProperty(newOperatorToken, "parameters", {get: function() { - return [[int], [assert.type.string]]; - }}); - Object.defineProperty(newStringToken, "parameters", {get: function() { - return [[int], [assert.type.string]]; - }}); - Object.defineProperty(newNumberToken, "parameters", {get: function() { - return [[int], [assert.type.number]]; - }}); - EOF = $__export("EOF", new Token(-1, 0, 0, "")); - $EOF = $__export("$EOF", 0); - $TAB = $__export("$TAB", 9); - $LF = $__export("$LF", 10); - $VTAB = $__export("$VTAB", 11); - $FF = $__export("$FF", 12); - $CR = $__export("$CR", 13); - $SPACE = $__export("$SPACE", 32); - $BANG = $__export("$BANG", 33); - $DQ = $__export("$DQ", 34); - $HASH = $__export("$HASH", 35); - $$ = $__export("$$", 36); - $PERCENT = $__export("$PERCENT", 37); - $AMPERSAND = $__export("$AMPERSAND", 38); - $SQ = $__export("$SQ", 39); - $LPAREN = $__export("$LPAREN", 40); - $RPAREN = $__export("$RPAREN", 41); - $STAR = $__export("$STAR", 42); - $PLUS = $__export("$PLUS", 43); - $COMMA = $__export("$COMMA", 44); - $MINUS = $__export("$MINUS", 45); - $PERIOD = $__export("$PERIOD", 46); - $SLASH = $__export("$SLASH", 47); - $COLON = $__export("$COLON", 58); - $SEMICOLON = $__export("$SEMICOLON", 59); - $LT = $__export("$LT", 60); - $EQ = $__export("$EQ", 61); - $GT = $__export("$GT", 62); - $QUESTION = $__export("$QUESTION", 63); - $0 = 48; - $9 = 57; - $A = 65, $B = 66, $C = 67, $D = 68, $E = 69, $F = 70, $G = 71, $H = 72, $I = 73, $J = 74, $K = 75, $L = 76, $M = 77, $N = 78, $O = 79, $P = 80, $Q = 81, $R = 82, $S = 83, $T = 84, $U = 85, $V = 86, $W = 87, $X = 88, $Y = 89, $Z = 90; - $LBRACKET = $__export("$LBRACKET", 91); - $BACKSLASH = $__export("$BACKSLASH", 92); - $RBRACKET = $__export("$RBRACKET", 93); - $CARET = 94; - $_ = 95; - $a = 97, $b = 98, $c = 99, $d = 100, $e = 101, $f = 102, $g = 103, $h = 104, $i = 105, $j = 106, $k = 107, $l = 108, $m = 109, $n = 110, $o = 111, $p = 112, $q = 113, $r = 114, $s = 115, $t = 116, $u = 117, $v = 118, $w = 119, $x = 120, $y = 121, $z = 122; - $LBRACE = $__export("$LBRACE", 123); - $BAR = $__export("$BAR", 124); - $RBRACE = $__export("$RBRACE", 125); - $TILDE = 126; - $NBSP = 160; - ScannerError = $__export("ScannerError", (function($__super) { - var ScannerError = function ScannerError(message) { - $traceurRuntime.superConstructor(ScannerError).call(this); - this.message = message; - }; - return ($traceurRuntime.createClass)(ScannerError, {toString: function() { - return this.message; - }}, {}, $__super); - }(Error))); - _Scanner = (function() { - var _Scanner = function _Scanner(input) { - this.input = input; - this.length = input.length; - this.peek = 0; - this.index = -1; - this.advance(); - }; - return ($traceurRuntime.createClass)(_Scanner, { - advance: function() { - this.peek = ++this.index >= this.length ? $EOF : StringWrapper.charCodeAt(this.input, this.index); - }, - scanToken: function() { - var input = this.input, - length = this.length, - peek = this.peek, - index = this.index; - while (peek <= $SPACE) { - if (++index >= length) { - peek = $EOF; - break; - } else { - peek = StringWrapper.charCodeAt(input, index); - } - } - this.peek = peek; - this.index = index; - if (index >= length) { - return null; - } - if (isIdentifierStart(peek)) - return this.scanIdentifier(); - if (isDigit(peek)) - return this.scanNumber(index); - var start = index; - switch (peek) { - case $PERIOD: - this.advance(); - return isDigit(this.peek) ? this.scanNumber(start) : newCharacterToken(start, $PERIOD); - case $LPAREN: - case $RPAREN: - case $LBRACE: - case $RBRACE: - case $LBRACKET: - case $RBRACKET: - case $COMMA: - case $COLON: - case $SEMICOLON: - return this.scanCharacter(start, peek); - case $SQ: - case $DQ: - return this.scanString(); - case $HASH: - return this.scanOperator(start, StringWrapper.fromCharCode(peek)); - case $PLUS: - case $MINUS: - case $STAR: - case $SLASH: - case $PERCENT: - case $CARET: - case $QUESTION: - return this.scanOperator(start, StringWrapper.fromCharCode(peek)); - case $LT: - case $GT: - case $BANG: - case $EQ: - return this.scanComplexOperator(start, $EQ, StringWrapper.fromCharCode(peek), '='); - case $AMPERSAND: - return this.scanComplexOperator(start, $AMPERSAND, '&', '&'); - case $BAR: - return this.scanComplexOperator(start, $BAR, '|', '|'); - case $TILDE: - return this.scanComplexOperator(start, $SLASH, '~', '/'); - case $NBSP: - while (isWhitespace(this.peek)) - this.advance(); - return this.scanToken(); - } - this.error(("Unexpected character [" + StringWrapper.fromCharCode(peek) + "]"), 0); - return null; - }, - scanCharacter: function(start, code) { - assert(this.peek == code); - this.advance(); - return newCharacterToken(start, code); - }, - scanOperator: function(start, str) { - assert(this.peek == StringWrapper.charCodeAt(str, 0)); - assert(SetWrapper.has(OPERATORS, str)); - this.advance(); - return newOperatorToken(start, str); - }, - scanComplexOperator: function(start, code, one, two) { - assert(this.peek == StringWrapper.charCodeAt(one, 0)); - this.advance(); - var str = one; - if (this.peek == code) { - this.advance(); - str += two; - } - assert(SetWrapper.has(OPERATORS, str)); - return newOperatorToken(start, str); - }, - scanIdentifier: function() { - assert(isIdentifierStart(this.peek)); - var start = this.index; - this.advance(); - while (isIdentifierPart(this.peek)) - this.advance(); - var str = this.input.substring(start, this.index); - if (SetWrapper.has(KEYWORDS, str)) { - return newKeywordToken(start, str); - } else { - return newIdentifierToken(start, str); - } - }, - scanNumber: function(start) { - assert(isDigit(this.peek)); - var simple = (this.index === start); - this.advance(); - while (true) { - if (isDigit(this.peek)) {} else if (this.peek == $PERIOD) { - simple = false; - } else if (isExponentStart(this.peek)) { - this.advance(); - if (isExponentSign(this.peek)) - this.advance(); - if (!isDigit(this.peek)) - this.error('Invalid exponent', -1); - simple = false; - } else { - break; - } - this.advance(); - } - var str = this.input.substring(start, this.index); - var value = simple ? NumberWrapper.parseIntAutoRadix(str) : NumberWrapper.parseFloat(str); - return newNumberToken(start, value); - }, - scanString: function() { - assert(this.peek == $SQ || this.peek == $DQ); - var start = this.index; - var quote = this.peek; - this.advance(); - var buffer; - var marker = this.index; - var input = this.input; - while (this.peek != quote) { - if (this.peek == $BACKSLASH) { - if (buffer == null) - buffer = new StringJoiner(); - buffer.add(input.substring(marker, this.index)); - this.advance(); - var unescapedCode = void 0; - if (this.peek == $u) { - var hex = input.substring(this.index + 1, this.index + 5); - try { - unescapedCode = NumberWrapper.parseInt(hex, 16); - } catch (e) { - this.error(("Invalid unicode escape [\\u" + hex + "]"), 0); - } - for (var i = 0; i < 5; i++) { - this.advance(); - } - } else { - unescapedCode = unescape(this.peek); - this.advance(); - } - buffer.add(StringWrapper.fromCharCode(unescapedCode)); - marker = this.index; - } else if (this.peek == $EOF) { - this.error('Unterminated quote', 0); - } else { - this.advance(); - } - } - var last = input.substring(marker, this.index); - this.advance(); - var unescaped = last; - if (buffer != null) { - buffer.add(last); - unescaped = buffer.toString(); - } - return newStringToken(start, unescaped); - }, - error: function(message, offset) { - var position = this.index + offset; - throw new ScannerError(("Lexer Error: " + message + " at column " + position + " in expression [" + this.input + "]")); - } - }, {}); - }()); - Object.defineProperty(_Scanner, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - Object.defineProperty(_Scanner.prototype.scanCharacter, "parameters", {get: function() { - return [[int], [int]]; - }}); - Object.defineProperty(_Scanner.prototype.scanOperator, "parameters", {get: function() { - return [[int], [assert.type.string]]; - }}); - Object.defineProperty(_Scanner.prototype.scanComplexOperator, "parameters", {get: function() { - return [[int], [int], [assert.type.string], [assert.type.string]]; - }}); - Object.defineProperty(_Scanner.prototype.scanNumber, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(_Scanner.prototype.error, "parameters", {get: function() { - return [[assert.type.string], [int]]; - }}); - Object.defineProperty(isWhitespace, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(isIdentifierStart, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(isIdentifierPart, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(isDigit, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(isExponentStart, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(isExponentSign, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(unescape, "parameters", {get: function() { - return [[int]]; - }}); - OPERATORS = SetWrapper.createFromList(['+', '-', '*', '/', '~/', '%', '^', '=', '==', '!=', '<', '>', '<=', '>=', '&&', '||', '&', '|', '!', '?', '#']); - KEYWORDS = SetWrapper.createFromList(['var', 'null', 'undefined', 'true', 'false']); - } - }; -}); - -//# sourceMappingURL=src/change_detection/parser/lexer.map - -//# sourceMappingURL=../../../src/change_detection/parser/lexer.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/parser/lexer.js.map b/angular2/src/change_detection/parser/lexer.js.map deleted file mode 100644 index 827ee12..0000000 --- a/angular2/src/change_detection/parser/lexer.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","src/change_detection/parser/lexer.js","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/7","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/parser/@traceur/generated/TemplateParser/24","src/change_detection/parser/@traceur/generated/TemplateParser/23","@traceur/generated/TemplateParser/12","@traceur/generated/TemplateParser/11","@traceur/generated/TemplateParser/14","@traceur/generated/TemplateParser/18"],"names":[],"mappings":"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","file":"src/change_detection/parser/lexer.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","import {Injectable} from 'angular2/di';\nimport {List, ListWrapper, SetWrapper} from \"angular2/src/facade/collection\";\nimport {int, NumberWrapper, StringJoiner, StringWrapper} from \"angular2/src/facade/lang\";\n\nexport const TOKEN_TYPE_CHARACTER = 1;\nexport const TOKEN_TYPE_IDENTIFIER = 2;\nexport const TOKEN_TYPE_KEYWORD = 3;\nexport const TOKEN_TYPE_STRING = 4;\nexport const TOKEN_TYPE_OPERATOR = 5;\nexport const TOKEN_TYPE_NUMBER = 6;\n\n@Injectable()\nexport class Lexer {\n text:string;\n tokenize(text:string):List {\n var scanner = new _Scanner(text);\n var tokens = [];\n var token = scanner.scanToken();\n while (token != null) {\n ListWrapper.push(tokens, token);\n token = scanner.scanToken();\n }\n return tokens;\n }\n}\n\nexport class Token {\n index:int;\n type:int;\n _numValue:number;\n _strValue:string;\n constructor(index:int, type:int, numValue:number, strValue:string) {\n /**\n * NOTE: To ensure that this constructor creates the same hidden class each time, ensure that\n * all the fields are assigned to in the exact same order in each run of this constructor.\n */\n this.index = index;\n this.type = type;\n this._numValue = numValue;\n this._strValue = strValue;\n }\n\n isCharacter(code:int):boolean {\n return (this.type == TOKEN_TYPE_CHARACTER && this._numValue == code);\n }\n\n isNumber():boolean {\n return (this.type == TOKEN_TYPE_NUMBER);\n }\n\n isString():boolean {\n return (this.type == TOKEN_TYPE_STRING);\n }\n\n isOperator(operater:string):boolean {\n return (this.type == TOKEN_TYPE_OPERATOR && this._strValue == operater);\n }\n\n isIdentifier():boolean {\n return (this.type == TOKEN_TYPE_IDENTIFIER);\n }\n\n isKeyword():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD);\n }\n\n isKeywordVar():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == \"var\");\n }\n\n isKeywordNull():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == \"null\");\n }\n\n isKeywordUndefined():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == \"undefined\");\n }\n\n isKeywordTrue():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == \"true\");\n }\n\n isKeywordFalse():boolean {\n return (this.type == TOKEN_TYPE_KEYWORD && this._strValue == \"false\");\n }\n\n toNumber():number {\n // -1 instead of NULL ok?\n return (this.type == TOKEN_TYPE_NUMBER) ? this._numValue : -1;\n }\n\n toString():string {\n var type:int = this.type;\n if (type >= TOKEN_TYPE_CHARACTER && type <= TOKEN_TYPE_STRING) {\n return this._strValue;\n } else if (type == TOKEN_TYPE_NUMBER) {\n return this._numValue.toString();\n } else {\n return null;\n }\n }\n}\n\nfunction newCharacterToken(index:int, code:int):Token {\n return new Token(index, TOKEN_TYPE_CHARACTER, code, StringWrapper.fromCharCode(code));\n}\n\nfunction newIdentifierToken(index:int, text:string):Token {\n return new Token(index, TOKEN_TYPE_IDENTIFIER, 0, text);\n}\n\nfunction newKeywordToken(index:int, text:string):Token {\n return new Token(index, TOKEN_TYPE_KEYWORD, 0, text);\n}\n\nfunction newOperatorToken(index:int, text:string):Token {\n return new Token(index, TOKEN_TYPE_OPERATOR, 0, text);\n}\n\nfunction newStringToken(index:int, text:string):Token {\n return new Token(index, TOKEN_TYPE_STRING, 0, text);\n}\n\nfunction newNumberToken(index:int, n:number):Token {\n return new Token(index, TOKEN_TYPE_NUMBER, n, \"\");\n}\n\n\nexport var EOF:Token = new Token(-1, 0, 0, \"\");\n\nexport const $EOF = 0;\nexport const $TAB = 9;\nexport const $LF = 10;\nexport const $VTAB = 11;\nexport const $FF = 12;\nexport const $CR = 13;\nexport const $SPACE = 32;\nexport const $BANG = 33;\nexport const $DQ = 34;\nexport const $HASH = 35;\nexport const $$ = 36;\nexport const $PERCENT = 37;\nexport const $AMPERSAND = 38;\nexport const $SQ = 39;\nexport const $LPAREN = 40;\nexport const $RPAREN = 41;\nexport const $STAR = 42;\nexport const $PLUS = 43;\nexport const $COMMA = 44;\nexport const $MINUS = 45;\nexport const $PERIOD = 46;\nexport const $SLASH = 47;\nexport const $COLON = 58;\nexport const $SEMICOLON = 59;\nexport const $LT = 60;\nexport const $EQ = 61;\nexport const $GT = 62;\nexport const $QUESTION = 63;\n\nconst $0 = 48;\nconst $9 = 57;\n\nconst $A = 65, $B = 66, $C = 67, $D = 68, $E = 69, $F = 70, $G = 71, $H = 72,\n $I = 73, $J = 74, $K = 75, $L = 76, $M = 77, $N = 78, $O = 79, $P = 80,\n $Q = 81, $R = 82, $S = 83, $T = 84, $U = 85, $V = 86, $W = 87, $X = 88,\n $Y = 89, $Z = 90;\n\nexport const $LBRACKET = 91;\nexport const $BACKSLASH = 92;\nexport const $RBRACKET = 93;\nconst $CARET = 94;\nconst $_ = 95;\n\nconst $a = 97, $b = 98, $c = 99, $d = 100, $e = 101, $f = 102, $g = 103,\n $h = 104, $i = 105, $j = 106, $k = 107, $l = 108, $m = 109, $n = 110,\n $o = 111, $p = 112, $q = 113, $r = 114, $s = 115, $t = 116, $u = 117,\n $v = 118, $w = 119, $x = 120, $y = 121, $z = 122;\n\nexport const $LBRACE = 123;\nexport const $BAR = 124;\nexport const $RBRACE = 125;\nconst $TILDE = 126;\nconst $NBSP = 160;\n\n\nexport class ScannerError extends Error {\n message:string;\n constructor(message) {\n super();\n this.message = message;\n }\n\n toString() {\n return this.message;\n }\n}\n\nclass _Scanner {\n input:string;\n length:int;\n peek:int;\n index:int;\n\n constructor(input:string) {\n this.input = input;\n this.length = input.length;\n this.peek = 0;\n this.index = -1;\n this.advance();\n }\n\n advance() {\n this.peek = ++this.index >= this.length ? $EOF : StringWrapper.charCodeAt(this.input, this.index);\n }\n\n scanToken():Token {\n var input = this.input,\n length = this.length,\n peek = this.peek,\n index = this.index;\n\n // Skip whitespace.\n while (peek <= $SPACE) {\n if (++index >= length) {\n peek = $EOF;\n break;\n } else {\n peek = StringWrapper.charCodeAt(input, index);\n }\n }\n\n this.peek = peek;\n this.index = index;\n\n if (index >= length) {\n return null;\n }\n\n // Handle identifiers and numbers.\n if (isIdentifierStart(peek)) return this.scanIdentifier();\n if (isDigit(peek)) return this.scanNumber(index);\n\n var start:int = index;\n switch (peek) {\n case $PERIOD:\n this.advance();\n return isDigit(this.peek) ? this.scanNumber(start) :\n newCharacterToken(start, $PERIOD);\n case $LPAREN: case $RPAREN:\n case $LBRACE: case $RBRACE:\n case $LBRACKET: case $RBRACKET:\n case $COMMA:\n case $COLON:\n case $SEMICOLON:\n return this.scanCharacter(start, peek);\n case $SQ:\n case $DQ:\n return this.scanString();\n case $HASH:\n return this.scanOperator(start, StringWrapper.fromCharCode(peek));\n case $PLUS:\n case $MINUS:\n case $STAR:\n case $SLASH:\n case $PERCENT:\n case $CARET:\n case $QUESTION:\n return this.scanOperator(start, StringWrapper.fromCharCode(peek));\n case $LT:\n case $GT:\n case $BANG:\n case $EQ:\n return this.scanComplexOperator(start, $EQ, StringWrapper.fromCharCode(peek), '=');\n case $AMPERSAND:\n return this.scanComplexOperator(start, $AMPERSAND, '&', '&');\n case $BAR:\n return this.scanComplexOperator(start, $BAR, '|', '|');\n case $TILDE:\n return this.scanComplexOperator(start, $SLASH, '~', '/');\n case $NBSP:\n while (isWhitespace(this.peek)) this.advance();\n return this.scanToken();\n }\n\n this.error(`Unexpected character [${StringWrapper.fromCharCode(peek)}]`, 0);\n return null;\n }\n\n scanCharacter(start:int, code:int):Token {\n assert(this.peek == code);\n this.advance();\n return newCharacterToken(start, code);\n }\n\n\n scanOperator(start:int, str:string):Token {\n assert(this.peek == StringWrapper.charCodeAt(str, 0));\n assert(SetWrapper.has(OPERATORS, str));\n this.advance();\n return newOperatorToken(start, str);\n }\n\n scanComplexOperator(start:int, code:int, one:string, two:string):Token {\n assert(this.peek == StringWrapper.charCodeAt(one, 0));\n this.advance();\n var str:string = one;\n if (this.peek == code) {\n this.advance();\n str += two;\n }\n assert(SetWrapper.has(OPERATORS, str));\n return newOperatorToken(start, str);\n }\n\n scanIdentifier():Token {\n assert(isIdentifierStart(this.peek));\n var start:int = this.index;\n this.advance();\n while (isIdentifierPart(this.peek)) this.advance();\n var str:string = this.input.substring(start, this.index);\n if (SetWrapper.has(KEYWORDS, str)) {\n return newKeywordToken(start, str);\n } else {\n return newIdentifierToken(start, str);\n }\n }\n\n scanNumber(start:int):Token {\n assert(isDigit(this.peek));\n var simple:boolean = (this.index === start);\n this.advance(); // Skip initial digit.\n while (true) {\n if (isDigit(this.peek)) {\n // Do nothing.\n } else if (this.peek == $PERIOD) {\n simple = false;\n } else if (isExponentStart(this.peek)) {\n this.advance();\n if (isExponentSign(this.peek)) this.advance();\n if (!isDigit(this.peek)) this.error('Invalid exponent', -1);\n simple = false;\n } else {\n break;\n }\n this.advance();\n }\n var str:string = this.input.substring(start, this.index);\n // TODO\n var value:number = simple ? NumberWrapper.parseIntAutoRadix(str) : NumberWrapper.parseFloat(str);\n return newNumberToken(start, value);\n }\n\n scanString():Token {\n assert(this.peek == $SQ || this.peek == $DQ);\n var start:int = this.index;\n var quote:int = this.peek;\n this.advance(); // Skip initial quote.\n\n var buffer:StringJoiner;\n var marker:int = this.index;\n var input:string = this.input;\n\n while (this.peek != quote) {\n if (this.peek == $BACKSLASH) {\n if (buffer == null) buffer = new StringJoiner();\n buffer.add(input.substring(marker, this.index));\n this.advance();\n var unescapedCode:int;\n if (this.peek == $u) {\n // 4 character hex code for unicode character.\n var hex:string = input.substring(this.index + 1, this.index + 5);\n try {\n unescapedCode = NumberWrapper.parseInt(hex, 16);\n } catch (e) {\n this.error(`Invalid unicode escape [\\\\u${hex}]`, 0);\n }\n for (var i:int = 0; i < 5; i++) {\n this.advance();\n }\n } else {\n unescapedCode = unescape(this.peek);\n this.advance();\n }\n buffer.add(StringWrapper.fromCharCode(unescapedCode));\n marker = this.index;\n } else if (this.peek == $EOF) {\n this.error('Unterminated quote', 0);\n } else {\n this.advance();\n }\n }\n\n var last:string = input.substring(marker, this.index);\n this.advance(); // Skip terminating quote.\n\n // Compute the unescaped string value.\n var unescaped:string = last;\n if (buffer != null) {\n buffer.add(last);\n unescaped = buffer.toString();\n }\n return newStringToken(start, unescaped);\n }\n\n error(message:string, offset:int) {\n var position:int = this.index + offset;\n throw new ScannerError(`Lexer Error: ${message} at column ${position} in expression [${this.input}]`);\n }\n}\n\nfunction isWhitespace(code:int):boolean {\n return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n}\n\nfunction isIdentifierStart(code:int):boolean {\n return ($a <= code && code <= $z) ||\n ($A <= code && code <= $Z) ||\n (code == $_) ||\n (code == $$);\n}\n\nfunction isIdentifierPart(code:int):boolean {\n return ($a <= code && code <= $z) ||\n ($A <= code && code <= $Z) ||\n ($0 <= code && code <= $9) ||\n (code == $_) ||\n (code == $$);\n}\n\nfunction isDigit(code:int):boolean {\n return $0 <= code && code <= $9;\n}\n\nfunction isExponentStart(code:int):boolean {\n return code == $e || code == $E;\n}\n\nfunction isExponentSign(code:int):boolean {\n return code == $MINUS || code == $PLUS;\n}\n\nfunction unescape(code:int):int {\n switch(code) {\n case $n: return $LF;\n case $f: return $FF;\n case $r: return $CR;\n case $t: return $TAB;\n case $v: return $VTAB;\n default: return code;\n }\n}\n\nvar OPERATORS = SetWrapper.createFromList([\n '+',\n '-',\n '*',\n '/',\n '~/',\n '%',\n '^',\n '=',\n '==',\n '!=',\n '<',\n '>',\n '<=',\n '>=',\n '&&',\n '||',\n '&',\n '|',\n '!',\n '?',\n '#'\n]);\n\n\nvar KEYWORDS = SetWrapper.createFromList([\n 'var',\n 'null',\n 'undefined',\n 'true',\n 'false',\n]);\n","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","$__export($__placeholder__0, $__placeholder__1)","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","$traceurRuntime.superConstructor($__placeholder__0).call($__placeholder__1)","$__placeholder__0 = $__placeholder__1","void 0"]} \ No newline at end of file diff --git a/angular2/src/change_detection/parser/locals.js b/angular2/src/change_detection/parser/locals.js deleted file mode 100644 index 107faf4..0000000 --- a/angular2/src/change_detection/parser/locals.js +++ /dev/null @@ -1,71 +0,0 @@ -System.register(["angular2/src/facade/lang", "angular2/src/facade/collection"], function($__export) { - "use strict"; - var isPresent, - BaseException, - ListWrapper, - MapWrapper, - Locals; - return { - setters: [function($__m) { - isPresent = $__m.isPresent; - BaseException = $__m.BaseException; - }, function($__m) { - ListWrapper = $__m.ListWrapper; - MapWrapper = $__m.MapWrapper; - }], - execute: function() { - Locals = $__export("Locals", (function() { - var Locals = function Locals(parent, current) { - this.parent = parent; - this.current = current; - }; - return ($traceurRuntime.createClass)(Locals, { - contains: function(name) { - if (MapWrapper.contains(this.current, name)) { - return true; - } - if (isPresent(this.parent)) { - return this.parent.contains(name); - } - return false; - }, - get: function(name) { - if (MapWrapper.contains(this.current, name)) { - return MapWrapper.get(this.current, name); - } - if (isPresent(this.parent)) { - return this.parent.get(name); - } - throw new BaseException(("Cannot find '" + name + "'")); - }, - set: function(name, value) { - if (MapWrapper.contains(this.current, name)) { - MapWrapper.set(this.current, name, value); - } else { - throw new BaseException('Setting of new keys post-construction is not supported.'); - } - }, - clearValues: function() { - MapWrapper.clearValues(this.current); - } - }, {}); - }())); - Object.defineProperty(Locals, "parameters", {get: function() { - return [[Locals], [Map]]; - }}); - Object.defineProperty(Locals.prototype.contains, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - Object.defineProperty(Locals.prototype.get, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - Object.defineProperty(Locals.prototype.set, "parameters", {get: function() { - return [[assert.type.string], []]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/parser/locals.map - -//# sourceMappingURL=../../../src/change_detection/parser/locals.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/parser/locals.js.map b/angular2/src/change_detection/parser/locals.js.map deleted file mode 100644 index d90fb14..0000000 --- a/angular2/src/change_detection/parser/locals.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/parser/locals.js","src/change_detection/parser/@traceur/generated/TemplateParser/24","src/change_detection/parser/@traceur/generated/TemplateParser/23"],"names":[],"mappings":"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","file":"src/change_detection/parser/locals.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","import {isPresent, BaseException} from 'angular2/src/facade/lang';\nimport {ListWrapper, MapWrapper} from 'angular2/src/facade/collection';\n\nexport class Locals {\n parent:Locals;\n current:Map;\n\n constructor(parent:Locals, current:Map) {\n this.parent = parent;\n this.current = current;\n }\n\n contains(name:string):boolean {\n if (MapWrapper.contains(this.current, name)) {\n return true;\n }\n\n if (isPresent(this.parent)) {\n return this.parent.contains(name);\n }\n\n return false;\n }\n\n get(name:string) {\n if (MapWrapper.contains(this.current, name)) {\n return MapWrapper.get(this.current, name);\n }\n\n if (isPresent(this.parent)) {\n return this.parent.get(name);\n }\n\n throw new BaseException(`Cannot find '${name}'`);\n }\n\n set(name:string, value) {\n // TODO(rado): consider removing this check if we can guarantee this is not\n // exposed to the public API.\n // TODO: vsavkin maybe it should check only the local map\n if (MapWrapper.contains(this.current, name)) {\n MapWrapper.set(this.current, name, value);\n } else {\n throw new BaseException('Setting of new keys post-construction is not supported.');\n }\n }\n\n clearValues() {\n MapWrapper.clearValues(this.current);\n }\n}","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/parser/parser.js b/angular2/src/change_detection/parser/parser.js deleted file mode 100644 index e0698b9..0000000 --- a/angular2/src/change_detection/parser/parser.js +++ /dev/null @@ -1,591 +0,0 @@ -System.register(["angular2/di", "angular2/src/facade/lang", "angular2/src/facade/collection", "./lexer", "angular2/src/reflection/reflection", "./ast"], function($__export) { - "use strict"; - var Injectable, - int, - isBlank, - isPresent, - BaseException, - StringWrapper, - RegExpWrapper, - ListWrapper, - List, - Lexer, - EOF, - Token, - $PERIOD, - $COLON, - $SEMICOLON, - $LBRACKET, - $RBRACKET, - $COMMA, - $LBRACE, - $RBRACE, - $LPAREN, - $RPAREN, - reflector, - Reflector, - AST, - EmptyExpr, - ImplicitReceiver, - AccessMember, - LiteralPrimitive, - Expression, - Binary, - PrefixNot, - Conditional, - Pipe, - Assignment, - Chain, - KeyedAccess, - LiteralArray, - LiteralMap, - Interpolation, - MethodCall, - FunctionCall, - TemplateBindings, - TemplateBinding, - ASTWithSource, - _implicitReceiver, - INTERPOLATION_REGEXP, - QUOTE_REGEXP, - Parser, - _ParseAST; - return { - setters: [function($__m) { - Injectable = $__m.Injectable; - }, function($__m) { - int = $__m.int; - isBlank = $__m.isBlank; - isPresent = $__m.isPresent; - BaseException = $__m.BaseException; - StringWrapper = $__m.StringWrapper; - RegExpWrapper = $__m.RegExpWrapper; - }, function($__m) { - ListWrapper = $__m.ListWrapper; - List = $__m.List; - }, function($__m) { - Lexer = $__m.Lexer; - EOF = $__m.EOF; - Token = $__m.Token; - $PERIOD = $__m.$PERIOD; - $COLON = $__m.$COLON; - $SEMICOLON = $__m.$SEMICOLON; - $LBRACKET = $__m.$LBRACKET; - $RBRACKET = $__m.$RBRACKET; - $COMMA = $__m.$COMMA; - $LBRACE = $__m.$LBRACE; - $RBRACE = $__m.$RBRACE; - $LPAREN = $__m.$LPAREN; - $RPAREN = $__m.$RPAREN; - }, function($__m) { - reflector = $__m.reflector; - Reflector = $__m.Reflector; - }, function($__m) { - AST = $__m.AST; - EmptyExpr = $__m.EmptyExpr; - ImplicitReceiver = $__m.ImplicitReceiver; - AccessMember = $__m.AccessMember; - LiteralPrimitive = $__m.LiteralPrimitive; - Expression = $__m.Expression; - Binary = $__m.Binary; - PrefixNot = $__m.PrefixNot; - Conditional = $__m.Conditional; - Pipe = $__m.Pipe; - Assignment = $__m.Assignment; - Chain = $__m.Chain; - KeyedAccess = $__m.KeyedAccess; - LiteralArray = $__m.LiteralArray; - LiteralMap = $__m.LiteralMap; - Interpolation = $__m.Interpolation; - MethodCall = $__m.MethodCall; - FunctionCall = $__m.FunctionCall; - TemplateBindings = $__m.TemplateBindings; - TemplateBinding = $__m.TemplateBinding; - ASTWithSource = $__m.ASTWithSource; - }], - execute: function() { - _implicitReceiver = new ImplicitReceiver(); - INTERPOLATION_REGEXP = RegExpWrapper.create('\\{\\{(.*?)\\}\\}'); - QUOTE_REGEXP = RegExpWrapper.create("'"); - Parser = $__export("Parser", (function() { - var Parser = function Parser(lexer) { - var providedReflector = arguments[1] !== (void 0) ? arguments[1] : null; - this._lexer = lexer; - this._reflector = isPresent(providedReflector) ? providedReflector : reflector; - }; - return ($traceurRuntime.createClass)(Parser, { - parseAction: function(input, location) { - var tokens = this._lexer.tokenize(input); - var ast = new _ParseAST(input, location, tokens, this._reflector, true).parseChain(); - return new ASTWithSource(ast, input, location); - }, - parseBinding: function(input, location) { - var tokens = this._lexer.tokenize(input); - var ast = new _ParseAST(input, location, tokens, this._reflector, false).parseChain(); - return new ASTWithSource(ast, input, location); - }, - addPipes: function(bindingAst, pipes) { - if (ListWrapper.isEmpty(pipes)) - return bindingAst; - var res = ListWrapper.reduce(pipes, (function(result, currentPipeName) { - return new Pipe(result, currentPipeName, []); - }), bindingAst.ast); - return new ASTWithSource(res, bindingAst.source, bindingAst.location); - }, - parseTemplateBindings: function(input, location) { - var tokens = this._lexer.tokenize(input); - return new _ParseAST(input, location, tokens, this._reflector, false).parseTemplateBindings(); - }, - parseInterpolation: function(input, location) { - var parts = StringWrapper.split(input, INTERPOLATION_REGEXP); - if (parts.length <= 1) { - return null; - } - var strings = []; - var expressions = []; - for (var i = 0; i < parts.length; i++) { - var part = parts[i]; - if (i % 2 === 0) { - ListWrapper.push(strings, part); - } else { - var tokens = this._lexer.tokenize(part); - var ast = new _ParseAST(input, location, tokens, this._reflector, false).parseChain(); - ListWrapper.push(expressions, ast); - } - } - return new ASTWithSource(new Interpolation(strings, expressions), input, location); - }, - wrapLiteralPrimitive: function(input, location) { - return new ASTWithSource(new LiteralPrimitive(input), input, location); - } - }, {}); - }())); - Object.defineProperty(Parser, "annotations", {get: function() { - return [new Injectable()]; - }}); - Object.defineProperty(Parser, "parameters", {get: function() { - return [[Lexer], [Reflector]]; - }}); - Object.defineProperty(Parser.prototype.parseAction, "parameters", {get: function() { - return [[assert.type.string], [assert.type.any]]; - }}); - Object.defineProperty(Parser.prototype.parseBinding, "parameters", {get: function() { - return [[assert.type.string], [assert.type.any]]; - }}); - Object.defineProperty(Parser.prototype.addPipes, "parameters", {get: function() { - return [[ASTWithSource], [assert.genericType(List, String)]]; - }}); - Object.defineProperty(Parser.prototype.parseTemplateBindings, "parameters", {get: function() { - return [[assert.type.string], [assert.type.any]]; - }}); - Object.defineProperty(Parser.prototype.parseInterpolation, "parameters", {get: function() { - return [[assert.type.string], [assert.type.any]]; - }}); - Object.defineProperty(Parser.prototype.wrapLiteralPrimitive, "parameters", {get: function() { - return [[assert.type.string], [assert.type.any]]; - }}); - _ParseAST = (function() { - var _ParseAST = function _ParseAST(input, location, tokens, reflector, parseAction) { - this.input = input; - this.location = location; - this.tokens = tokens; - this.index = 0; - this.reflector = reflector; - this.parseAction = parseAction; - }; - return ($traceurRuntime.createClass)(_ParseAST, { - peek: function(offset) { - var i = this.index + offset; - return i < this.tokens.length ? this.tokens[i] : EOF; - }, - get next() { - return this.peek(0); - }, - get inputIndex() { - return (this.index < this.tokens.length) ? this.next.index : this.input.length; - }, - advance: function() { - this.index++; - }, - optionalCharacter: function(code) { - if (this.next.isCharacter(code)) { - this.advance(); - return true; - } else { - return false; - } - }, - optionalKeywordVar: function() { - if (this.peekKeywordVar()) { - this.advance(); - return true; - } else { - return false; - } - }, - peekKeywordVar: function() { - return this.next.isKeywordVar() || this.next.isOperator('#'); - }, - expectCharacter: function(code) { - if (this.optionalCharacter(code)) - return ; - this.error(("Missing expected " + StringWrapper.fromCharCode(code))); - }, - optionalOperator: function(op) { - if (this.next.isOperator(op)) { - this.advance(); - return true; - } else { - return false; - } - }, - expectOperator: function(operator) { - if (this.optionalOperator(operator)) - return ; - this.error(("Missing expected operator " + operator)); - }, - expectIdentifierOrKeyword: function() { - var n = this.next; - if (!n.isIdentifier() && !n.isKeyword()) { - this.error(("Unexpected token " + n + ", expected identifier or keyword")); - } - this.advance(); - return n.toString(); - }, - expectIdentifierOrKeywordOrString: function() { - var n = this.next; - if (!n.isIdentifier() && !n.isKeyword() && !n.isString()) { - this.error(("Unexpected token " + n + ", expected identifier, keyword, or string")); - } - this.advance(); - return n.toString(); - }, - parseChain: function() { - var exprs = []; - while (this.index < this.tokens.length) { - var expr = this.parsePipe(); - ListWrapper.push(exprs, expr); - if (this.optionalCharacter($SEMICOLON)) { - if (!this.parseAction) { - this.error("Binding expression cannot contain chained expression"); - } - while (this.optionalCharacter($SEMICOLON)) {} - } else if (this.index < this.tokens.length) { - this.error(("Unexpected token '" + this.next + "'")); - } - } - if (exprs.length == 0) - return new EmptyExpr(); - if (exprs.length == 1) - return exprs[0]; - return new Chain(exprs); - }, - parsePipe: function() { - var result = this.parseExpression(); - while (this.optionalOperator("|")) { - if (this.parseAction) { - this.error("Cannot have a pipe in an action expression"); - } - var name = this.expectIdentifierOrKeyword(); - var args = ListWrapper.create(); - while (this.optionalCharacter($COLON)) { - ListWrapper.push(args, this.parseExpression()); - } - result = new Pipe(result, name, args); - } - return result; - }, - parseExpression: function() { - var start = this.inputIndex; - var result = this.parseConditional(); - while (this.next.isOperator('=')) { - if (!result.isAssignable) { - var end = this.inputIndex; - var expression = this.input.substring(start, end); - this.error(("Expression " + expression + " is not assignable")); - } - if (!this.parseAction) { - this.error("Binding expression cannot contain assignments"); - } - this.expectOperator('='); - result = new Assignment(result, this.parseConditional()); - } - return result; - }, - parseConditional: function() { - var start = this.inputIndex; - var result = this.parseLogicalOr(); - if (this.optionalOperator('?')) { - var yes = this.parseExpression(); - if (!this.optionalCharacter($COLON)) { - var end = this.inputIndex; - var expression = this.input.substring(start, end); - this.error(("Conditional expression " + expression + " requires all 3 expressions")); - } - var no = this.parseExpression(); - return new Conditional(result, yes, no); - } else { - return result; - } - }, - parseLogicalOr: function() { - var result = this.parseLogicalAnd(); - while (this.optionalOperator('||')) { - result = new Binary('||', result, this.parseLogicalAnd()); - } - return result; - }, - parseLogicalAnd: function() { - var result = this.parseEquality(); - while (this.optionalOperator('&&')) { - result = new Binary('&&', result, this.parseEquality()); - } - return result; - }, - parseEquality: function() { - var result = this.parseRelational(); - while (true) { - if (this.optionalOperator('==')) { - result = new Binary('==', result, this.parseRelational()); - } else if (this.optionalOperator('!=')) { - result = new Binary('!=', result, this.parseRelational()); - } else { - return result; - } - } - }, - parseRelational: function() { - var result = this.parseAdditive(); - while (true) { - if (this.optionalOperator('<')) { - result = new Binary('<', result, this.parseAdditive()); - } else if (this.optionalOperator('>')) { - result = new Binary('>', result, this.parseAdditive()); - } else if (this.optionalOperator('<=')) { - result = new Binary('<=', result, this.parseAdditive()); - } else if (this.optionalOperator('>=')) { - result = new Binary('>=', result, this.parseAdditive()); - } else { - return result; - } - } - }, - parseAdditive: function() { - var result = this.parseMultiplicative(); - while (true) { - if (this.optionalOperator('+')) { - result = new Binary('+', result, this.parseMultiplicative()); - } else if (this.optionalOperator('-')) { - result = new Binary('-', result, this.parseMultiplicative()); - } else { - return result; - } - } - }, - parseMultiplicative: function() { - var result = this.parsePrefix(); - while (true) { - if (this.optionalOperator('*')) { - result = new Binary('*', result, this.parsePrefix()); - } else if (this.optionalOperator('%')) { - result = new Binary('%', result, this.parsePrefix()); - } else if (this.optionalOperator('/')) { - result = new Binary('/', result, this.parsePrefix()); - } else { - return result; - } - } - }, - parsePrefix: function() { - if (this.optionalOperator('+')) { - return this.parsePrefix(); - } else if (this.optionalOperator('-')) { - return new Binary('-', new LiteralPrimitive(0), this.parsePrefix()); - } else if (this.optionalOperator('!')) { - return new PrefixNot(this.parsePrefix()); - } else { - return this.parseCallChain(); - } - }, - parseCallChain: function() { - var result = this.parsePrimary(); - while (true) { - if (this.optionalCharacter($PERIOD)) { - result = this.parseAccessMemberOrMethodCall(result); - } else if (this.optionalCharacter($LBRACKET)) { - var key = this.parseExpression(); - this.expectCharacter($RBRACKET); - result = new KeyedAccess(result, key); - } else if (this.optionalCharacter($LPAREN)) { - var args = this.parseCallArguments(); - this.expectCharacter($RPAREN); - result = new FunctionCall(result, args); - } else { - return result; - } - } - }, - parsePrimary: function() { - if (this.optionalCharacter($LPAREN)) { - var result = this.parsePipe(); - this.expectCharacter($RPAREN); - return result; - } else if (this.next.isKeywordNull() || this.next.isKeywordUndefined()) { - this.advance(); - return new LiteralPrimitive(null); - } else if (this.next.isKeywordTrue()) { - this.advance(); - return new LiteralPrimitive(true); - } else if (this.next.isKeywordFalse()) { - this.advance(); - return new LiteralPrimitive(false); - } else if (this.optionalCharacter($LBRACKET)) { - var elements = this.parseExpressionList($RBRACKET); - this.expectCharacter($RBRACKET); - return new LiteralArray(elements); - } else if (this.next.isCharacter($LBRACE)) { - return this.parseLiteralMap(); - } else if (this.next.isIdentifier()) { - return this.parseAccessMemberOrMethodCall(_implicitReceiver); - } else if (this.next.isNumber()) { - var value = this.next.toNumber(); - this.advance(); - return new LiteralPrimitive(value); - } else if (this.next.isString()) { - var value = this.next.toString(); - this.advance(); - return new LiteralPrimitive(value); - } else if (this.index >= this.tokens.length) { - this.error(("Unexpected end of expression: " + this.input)); - } else { - this.error(("Unexpected token " + this.next)); - } - }, - parseExpressionList: function(terminator) { - var result = []; - if (!this.next.isCharacter(terminator)) { - do { - ListWrapper.push(result, this.parseExpression()); - } while (this.optionalCharacter($COMMA)); - } - return result; - }, - parseLiteralMap: function() { - var keys = []; - var values = []; - this.expectCharacter($LBRACE); - if (!this.optionalCharacter($RBRACE)) { - do { - var key = this.expectIdentifierOrKeywordOrString(); - ListWrapper.push(keys, key); - this.expectCharacter($COLON); - ListWrapper.push(values, this.parseExpression()); - } while (this.optionalCharacter($COMMA)); - this.expectCharacter($RBRACE); - } - return new LiteralMap(keys, values); - }, - parseAccessMemberOrMethodCall: function(receiver) { - var id = this.expectIdentifierOrKeyword(); - if (this.optionalCharacter($LPAREN)) { - var args = this.parseCallArguments(); - this.expectCharacter($RPAREN); - var fn = this.reflector.method(id); - return new MethodCall(receiver, id, fn, args); - } else { - var getter = this.reflector.getter(id); - var setter = this.reflector.setter(id); - return new AccessMember(receiver, id, getter, setter); - } - }, - parseCallArguments: function() { - if (this.next.isCharacter($RPAREN)) - return []; - var positionals = []; - do { - ListWrapper.push(positionals, this.parseExpression()); - } while (this.optionalCharacter($COMMA)); - return positionals; - }, - expectTemplateBindingKey: function() { - var result = ''; - var operatorFound = false; - do { - result += this.expectIdentifierOrKeywordOrString(); - operatorFound = this.optionalOperator('-'); - if (operatorFound) { - result += '-'; - } - } while (operatorFound); - return result.toString(); - }, - parseTemplateBindings: function() { - var bindings = []; - while (this.index < this.tokens.length) { - var keyIsVar = this.optionalKeywordVar(); - var key = this.expectTemplateBindingKey(); - this.optionalCharacter($COLON); - var name = null; - var expression = null; - if (this.next !== EOF) { - if (keyIsVar) { - if (this.optionalOperator("=")) { - name = this.expectTemplateBindingKey(); - } else { - name = '\$implicit'; - } - } else if (!this.peekKeywordVar()) { - var start = this.inputIndex; - var ast = this.parsePipe(); - var source = this.input.substring(start, this.inputIndex); - expression = new ASTWithSource(ast, source, this.location); - } - } - ListWrapper.push(bindings, new TemplateBinding(key, keyIsVar, name, expression)); - if (!this.optionalCharacter($SEMICOLON)) { - this.optionalCharacter($COMMA); - } - ; - } - return bindings; - }, - error: function(message) { - var index = arguments[1] !== (void 0) ? arguments[1] : null; - if (isBlank(index)) - index = this.index; - var location = (index < this.tokens.length) ? ("at column " + (this.tokens[index].index + 1) + " in") : "at the end of the expression"; - throw new BaseException(("Parser Error: " + message + " " + location + " [" + this.input + "] in " + this.location)); - } - }, {}); - }()); - Object.defineProperty(_ParseAST, "parameters", {get: function() { - return [[assert.type.string], [assert.type.any], [List], [Reflector], [assert.type.boolean]]; - }}); - Object.defineProperty(_ParseAST.prototype.peek, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(_ParseAST.prototype.optionalCharacter, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(_ParseAST.prototype.expectCharacter, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(_ParseAST.prototype.optionalOperator, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - Object.defineProperty(_ParseAST.prototype.expectOperator, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - Object.defineProperty(_ParseAST.prototype.parseExpressionList, "parameters", {get: function() { - return [[int]]; - }}); - Object.defineProperty(_ParseAST.prototype.error, "parameters", {get: function() { - return [[assert.type.string], [int]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/parser/parser.map - -//# sourceMappingURL=../../../src/change_detection/parser/parser.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/parser/parser.js.map b/angular2/src/change_detection/parser/parser.js.map deleted file mode 100644 index 3bc4ccf..0000000 --- a/angular2/src/change_detection/parser/parser.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","src/change_detection/parser/parser.js","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/parser/@traceur/generated/TemplateParser/24","src/change_detection/parser/@traceur/generated/TemplateParser/23","src/change_detection/parser/@traceur/generated/TemplateParser/37","@traceur/generated/TemplateParser/14"],"names":[],"mappings":"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","file":"src/change_detection/parser/parser.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","import {Injectable} from 'angular2/di';\nimport {int, isBlank, isPresent, BaseException, StringWrapper, RegExpWrapper} from 'angular2/src/facade/lang';\nimport {ListWrapper, List} from 'angular2/src/facade/collection';\nimport {Lexer, EOF, Token, $PERIOD, $COLON, $SEMICOLON, $LBRACKET, $RBRACKET,\n $COMMA, $LBRACE, $RBRACE, $LPAREN, $RPAREN} from './lexer';\nimport {reflector, Reflector} from 'angular2/src/reflection/reflection';\nimport {\n AST,\n EmptyExpr,\n ImplicitReceiver,\n AccessMember,\n LiteralPrimitive,\n Expression,\n Binary,\n PrefixNot,\n Conditional,\n Pipe,\n Assignment,\n Chain,\n KeyedAccess,\n LiteralArray,\n LiteralMap,\n Interpolation,\n MethodCall,\n FunctionCall,\n TemplateBindings,\n TemplateBinding,\n ASTWithSource\n } from './ast';\n\nvar _implicitReceiver = new ImplicitReceiver();\n// TODO(tbosch): Cannot make this const/final right now because of the transpiler...\nvar INTERPOLATION_REGEXP = RegExpWrapper.create('\\\\{\\\\{(.*?)\\\\}\\\\}');\nvar QUOTE_REGEXP = RegExpWrapper.create(\"'\");\n\n@Injectable()\nexport class Parser {\n _lexer:Lexer;\n _reflector:Reflector;\n constructor(lexer:Lexer, providedReflector:Reflector = null){\n this._lexer = lexer;\n this._reflector = isPresent(providedReflector) ? providedReflector : reflector;\n }\n\n parseAction(input:string, location:any):ASTWithSource {\n var tokens = this._lexer.tokenize(input);\n var ast = new _ParseAST(input, location, tokens, this._reflector, true).parseChain();\n return new ASTWithSource(ast, input, location);\n }\n\n parseBinding(input:string, location:any):ASTWithSource {\n var tokens = this._lexer.tokenize(input);\n var ast = new _ParseAST(input, location, tokens, this._reflector, false).parseChain();\n return new ASTWithSource(ast, input, location);\n }\n\n addPipes(bindingAst:ASTWithSource, pipes:List):ASTWithSource {\n if (ListWrapper.isEmpty(pipes)) return bindingAst;\n\n var res = ListWrapper.reduce(pipes,\n (result, currentPipeName) => new Pipe(result, currentPipeName, []),\n bindingAst.ast);\n return new ASTWithSource(res, bindingAst.source, bindingAst.location);\n }\n\n parseTemplateBindings(input:string, location:any):List {\n var tokens = this._lexer.tokenize(input);\n return new _ParseAST(input, location, tokens, this._reflector, false).parseTemplateBindings();\n }\n\n parseInterpolation(input:string, location:any):ASTWithSource {\n var parts = StringWrapper.split(input, INTERPOLATION_REGEXP);\n if (parts.length <= 1) {\n return null;\n }\n var strings = [];\n var expressions = [];\n\n for (var i=0; i;\n reflector:Reflector;\n parseAction:boolean;\n index:int;\n constructor(input:string, location:any, tokens:List, reflector:Reflector, parseAction:boolean) {\n this.input = input;\n this.location = location;\n this.tokens = tokens;\n this.index = 0;\n this.reflector = reflector;\n this.parseAction = parseAction;\n }\n\n peek(offset:int):Token {\n var i = this.index + offset;\n return i < this.tokens.length ? this.tokens[i] : EOF;\n }\n\n get next():Token {\n return this.peek(0);\n }\n\n get inputIndex():int {\n return (this.index < this.tokens.length) ? this.next.index : this.input.length;\n }\n\n advance() {\n this.index ++;\n }\n\n optionalCharacter(code:int):boolean {\n if (this.next.isCharacter(code)) {\n this.advance();\n return true;\n } else {\n return false;\n }\n }\n\n optionalKeywordVar():boolean {\n if (this.peekKeywordVar()) {\n this.advance();\n return true;\n } else {\n return false;\n }\n }\n\n peekKeywordVar():boolean {\n return this.next.isKeywordVar() || this.next.isOperator('#');\n }\n\n expectCharacter(code:int) {\n if (this.optionalCharacter(code)) return;\n this.error(`Missing expected ${StringWrapper.fromCharCode(code)}`);\n }\n\n\n optionalOperator(op:string):boolean {\n if (this.next.isOperator(op)) {\n this.advance();\n return true;\n } else {\n return false;\n }\n }\n\n expectOperator(operator:string) {\n if (this.optionalOperator(operator)) return;\n this.error(`Missing expected operator ${operator}`);\n }\n\n expectIdentifierOrKeyword():string {\n var n = this.next;\n if (!n.isIdentifier() && !n.isKeyword()) {\n this.error(`Unexpected token ${n}, expected identifier or keyword`)\n }\n this.advance();\n return n.toString();\n }\n\n expectIdentifierOrKeywordOrString():string {\n var n = this.next;\n if (!n.isIdentifier() && !n.isKeyword() && !n.isString()) {\n this.error(`Unexpected token ${n}, expected identifier, keyword, or string`)\n }\n this.advance();\n return n.toString();\n }\n\n parseChain():AST {\n var exprs = [];\n while (this.index < this.tokens.length) {\n var expr = this.parsePipe();\n ListWrapper.push(exprs, expr);\n\n if (this.optionalCharacter($SEMICOLON)) {\n if (! this.parseAction) {\n this.error(\"Binding expression cannot contain chained expression\");\n }\n while (this.optionalCharacter($SEMICOLON)){} //read all semicolons\n } else if (this.index < this.tokens.length) {\n this.error(`Unexpected token '${this.next}'`);\n }\n }\n if (exprs.length == 0) return new EmptyExpr();\n if (exprs.length == 1) return exprs[0];\n return new Chain(exprs);\n }\n\n parsePipe() {\n var result = this.parseExpression();\n while (this.optionalOperator(\"|\")) {\n if (this.parseAction) {\n this.error(\"Cannot have a pipe in an action expression\");\n }\n var name = this.expectIdentifierOrKeyword();\n var args = ListWrapper.create();\n while (this.optionalCharacter($COLON)) {\n ListWrapper.push(args, this.parseExpression());\n }\n result = new Pipe(result, name, args);\n }\n return result;\n }\n\n parseExpression() {\n var start = this.inputIndex;\n var result = this.parseConditional();\n\n while (this.next.isOperator('=')) {\n if (!result.isAssignable) {\n var end = this.inputIndex;\n var expression = this.input.substring(start, end);\n this.error(`Expression ${expression} is not assignable`);\n }\n\n if (!this.parseAction) {\n this.error(\"Binding expression cannot contain assignments\");\n }\n\n this.expectOperator('=');\n result = new Assignment(result, this.parseConditional());\n }\n\n return result;\n }\n\n parseConditional() {\n var start = this.inputIndex;\n var result = this.parseLogicalOr();\n\n if (this.optionalOperator('?')) {\n var yes = this.parseExpression();\n if (!this.optionalCharacter($COLON)) {\n var end = this.inputIndex;\n var expression = this.input.substring(start, end);\n this.error(`Conditional expression ${expression} requires all 3 expressions`);\n }\n var no = this.parseExpression();\n return new Conditional(result, yes, no);\n } else {\n return result;\n }\n }\n\n parseLogicalOr() {\n // '||'\n var result = this.parseLogicalAnd();\n while (this.optionalOperator('||')) {\n result = new Binary('||', result, this.parseLogicalAnd());\n }\n return result;\n }\n\n parseLogicalAnd() {\n // '&&'\n var result = this.parseEquality();\n while (this.optionalOperator('&&')) {\n result = new Binary('&&', result, this.parseEquality());\n }\n return result;\n }\n\n parseEquality() {\n // '==','!='\n var result = this.parseRelational();\n while (true) {\n if (this.optionalOperator('==')) {\n result = new Binary('==', result, this.parseRelational());\n } else if (this.optionalOperator('!=')) {\n result = new Binary('!=', result, this.parseRelational());\n } else {\n return result;\n }\n }\n }\n\n parseRelational() {\n // '<', '>', '<=', '>='\n var result = this.parseAdditive();\n while (true) {\n if (this.optionalOperator('<')) {\n result = new Binary('<', result, this.parseAdditive());\n } else if (this.optionalOperator('>')) {\n result = new Binary('>', result, this.parseAdditive());\n } else if (this.optionalOperator('<=')) {\n result = new Binary('<=', result, this.parseAdditive());\n } else if (this.optionalOperator('>=')) {\n result = new Binary('>=', result, this.parseAdditive());\n } else {\n return result;\n }\n }\n }\n\n parseAdditive() {\n // '+', '-'\n var result = this.parseMultiplicative();\n while (true) {\n if (this.optionalOperator('+')) {\n result = new Binary('+', result, this.parseMultiplicative());\n } else if (this.optionalOperator('-')) {\n result = new Binary('-', result, this.parseMultiplicative());\n } else {\n return result;\n }\n }\n }\n\n parseMultiplicative() {\n // '*', '%', '/'\n var result = this.parsePrefix();\n while (true) {\n if (this.optionalOperator('*')) {\n result = new Binary('*', result, this.parsePrefix());\n } else if (this.optionalOperator('%')) {\n result = new Binary('%', result, this.parsePrefix());\n } else if (this.optionalOperator('/')) {\n result = new Binary('/', result, this.parsePrefix());\n } else {\n return result;\n }\n }\n }\n\n parsePrefix() {\n if (this.optionalOperator('+')) {\n return this.parsePrefix();\n } else if (this.optionalOperator('-')) {\n return new Binary('-', new LiteralPrimitive(0), this.parsePrefix());\n } else if (this.optionalOperator('!')) {\n return new PrefixNot(this.parsePrefix());\n } else {\n return this.parseCallChain();\n }\n }\n\n parseCallChain():AST {\n var result = this.parsePrimary();\n while (true) {\n if (this.optionalCharacter($PERIOD)) {\n result = this.parseAccessMemberOrMethodCall(result);\n\n } else if (this.optionalCharacter($LBRACKET)) {\n var key = this.parseExpression();\n this.expectCharacter($RBRACKET);\n result = new KeyedAccess(result, key);\n\n } else if (this.optionalCharacter($LPAREN)) {\n var args = this.parseCallArguments();\n this.expectCharacter($RPAREN);\n result = new FunctionCall(result, args);\n\n } else {\n return result;\n }\n }\n }\n\n parsePrimary() {\n if (this.optionalCharacter($LPAREN)) {\n var result = this.parsePipe();\n this.expectCharacter($RPAREN);\n return result;\n\n } else if (this.next.isKeywordNull() || this.next.isKeywordUndefined()) {\n this.advance();\n return new LiteralPrimitive(null);\n\n } else if (this.next.isKeywordTrue()) {\n this.advance();\n return new LiteralPrimitive(true);\n\n } else if (this.next.isKeywordFalse()) {\n this.advance();\n return new LiteralPrimitive(false);\n\n } else if (this.optionalCharacter($LBRACKET)) {\n var elements = this.parseExpressionList($RBRACKET);\n this.expectCharacter($RBRACKET);\n return new LiteralArray(elements);\n\n } else if (this.next.isCharacter($LBRACE)) {\n return this.parseLiteralMap();\n\n } else if (this.next.isIdentifier()) {\n return this.parseAccessMemberOrMethodCall(_implicitReceiver);\n\n } else if (this.next.isNumber()) {\n var value = this.next.toNumber();\n this.advance();\n return new LiteralPrimitive(value);\n\n } else if (this.next.isString()) {\n var value = this.next.toString();\n this.advance();\n return new LiteralPrimitive(value);\n\n } else if (this.index >= this.tokens.length) {\n this.error(`Unexpected end of expression: ${this.input}`);\n\n } else {\n this.error(`Unexpected token ${this.next}`);\n }\n }\n\n parseExpressionList(terminator:int):List {\n var result = [];\n if (!this.next.isCharacter(terminator)) {\n do {\n ListWrapper.push(result, this.parseExpression());\n } while (this.optionalCharacter($COMMA));\n }\n return result;\n }\n\n parseLiteralMap() {\n var keys = [];\n var values = [];\n this.expectCharacter($LBRACE);\n if (!this.optionalCharacter($RBRACE)) {\n do {\n var key = this.expectIdentifierOrKeywordOrString();\n ListWrapper.push(keys, key);\n this.expectCharacter($COLON);\n ListWrapper.push(values, this.parseExpression());\n } while (this.optionalCharacter($COMMA));\n this.expectCharacter($RBRACE);\n }\n return new LiteralMap(keys, values);\n }\n\n parseAccessMemberOrMethodCall(receiver):AST {\n var id = this.expectIdentifierOrKeyword();\n\n if (this.optionalCharacter($LPAREN)) {\n var args = this.parseCallArguments();\n this.expectCharacter($RPAREN);\n var fn = this.reflector.method(id);\n return new MethodCall(receiver, id, fn, args);\n\n } else {\n var getter = this.reflector.getter(id);\n var setter = this.reflector.setter(id);\n return new AccessMember(receiver, id, getter, setter);\n }\n }\n\n parseCallArguments() {\n if (this.next.isCharacter($RPAREN)) return [];\n var positionals = [];\n do {\n ListWrapper.push(positionals, this.parseExpression());\n } while (this.optionalCharacter($COMMA))\n return positionals;\n }\n\n /**\n * An identifier, a keyword, a string with an optional `-` inbetween.\n */\n expectTemplateBindingKey() {\n var result = '';\n var operatorFound = false;\n do {\n result += this.expectIdentifierOrKeywordOrString();\n operatorFound = this.optionalOperator('-');\n if (operatorFound) {\n result += '-';\n }\n } while (operatorFound);\n\n return result.toString();\n }\n\n parseTemplateBindings() {\n var bindings = [];\n while (this.index < this.tokens.length) {\n var keyIsVar:boolean = this.optionalKeywordVar();\n var key = this.expectTemplateBindingKey();\n this.optionalCharacter($COLON);\n var name = null;\n var expression = null;\n if (this.next !== EOF) {\n if (keyIsVar) {\n if (this.optionalOperator(\"=\")) {\n name = this.expectTemplateBindingKey();\n } else {\n name = '\\$implicit';\n }\n } else if (!this.peekKeywordVar()) {\n var start = this.inputIndex;\n var ast = this.parsePipe();\n var source = this.input.substring(start, this.inputIndex);\n expression = new ASTWithSource(ast, source, this.location);\n }\n }\n ListWrapper.push(bindings, new TemplateBinding(key, keyIsVar, name, expression));\n if (!this.optionalCharacter($SEMICOLON)) {\n this.optionalCharacter($COMMA);\n };\n }\n return bindings;\n }\n\n error(message:string, index:int = null) {\n if (isBlank(index)) index = this.index;\n\n var location = (index < this.tokens.length)\n ? `at column ${this.tokens[index].index + 1} in`\n : `at the end of the expression`;\n\n throw new BaseException(`Parser Error: ${message} ${location} [${this.input}] in ${this.location}`);\n }\n}\n","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)","assert.genericType($__placeholder__0)","$__placeholder__0 = $__placeholder__1"]} \ No newline at end of file diff --git a/angular2/src/change_detection/pipes/iterable_changes.js b/angular2/src/change_detection/pipes/iterable_changes.js deleted file mode 100644 index 6dac925..0000000 --- a/angular2/src/change_detection/pipes/iterable_changes.js +++ /dev/null @@ -1,529 +0,0 @@ -System.register(["angular2/src/facade/collection", "angular2/src/facade/lang", "./pipe"], function($__export) { - "use strict"; - var isListLikeIterable, - iterateListLike, - ListWrapper, - MapWrapper, - int, - isBlank, - isPresent, - stringify, - getMapKey, - looseIdentical, - NO_CHANGE, - Pipe, - IterableChangesFactory, - IterableChanges, - CollectionChangeRecord, - _DuplicateItemRecordList, - _DuplicateMap; - return { - setters: [function($__m) { - isListLikeIterable = $__m.isListLikeIterable; - iterateListLike = $__m.iterateListLike; - ListWrapper = $__m.ListWrapper; - MapWrapper = $__m.MapWrapper; - }, function($__m) { - int = $__m.int; - isBlank = $__m.isBlank; - isPresent = $__m.isPresent; - stringify = $__m.stringify; - getMapKey = $__m.getMapKey; - looseIdentical = $__m.looseIdentical; - }, function($__m) { - NO_CHANGE = $__m.NO_CHANGE; - Pipe = $__m.Pipe; - }], - execute: function() { - IterableChangesFactory = $__export("IterableChangesFactory", (function() { - var IterableChangesFactory = function IterableChangesFactory() {}; - return ($traceurRuntime.createClass)(IterableChangesFactory, { - supports: function(obj) { - return IterableChanges.supportsObj(obj); - }, - create: function() { - return new IterableChanges(); - } - }, {}); - }())); - IterableChanges = $__export("IterableChanges", (function($__super) { - var IterableChanges = function IterableChanges() { - $traceurRuntime.superConstructor(IterableChanges).call(this); - this._collection = null; - this._length = null; - this._linkedRecords = null; - this._unlinkedRecords = null; - this._previousItHead = null; - this._itHead = null; - this._itTail = null; - this._additionsHead = null; - this._additionsTail = null; - this._movesHead = null; - this._movesTail = null; - this._removalsHead = null; - this._removalsTail = null; - }; - return ($traceurRuntime.createClass)(IterableChanges, { - supports: function(obj) { - return IterableChanges.supportsObj(obj); - }, - get collection() { - return this._collection; - }, - get length() { - return this._length; - }, - forEachItem: function(fn) { - var record; - for (record = this._itHead; record !== null; record = record._next) { - fn(record); - } - }, - forEachPreviousItem: function(fn) { - var record; - for (record = this._previousItHead; record !== null; record = record._nextPrevious) { - fn(record); - } - }, - forEachAddedItem: function(fn) { - var record; - for (record = this._additionsHead; record !== null; record = record._nextAdded) { - fn(record); - } - }, - forEachMovedItem: function(fn) { - var record; - for (record = this._movesHead; record !== null; record = record._nextMoved) { - fn(record); - } - }, - forEachRemovedItem: function(fn) { - var record; - for (record = this._removalsHead; record !== null; record = record._nextRemoved) { - fn(record); - } - }, - transform: function(collection) { - if (this.check(collection)) { - return this; - } else { - return NO_CHANGE; - } - }, - check: function(collection) { - var $__0 = this; - this._reset(); - var record = this._itHead; - var mayBeDirty = false; - var index, - item; - if (ListWrapper.isList(collection)) { - var list = collection; - this._length = collection.length; - for (index = 0; index < this._length; index++) { - item = list[index]; - if (record === null || !looseIdentical(record.item, item)) { - record = this._mismatch(record, item, index); - mayBeDirty = true; - } else if (mayBeDirty) { - record = this._verifyReinsertion(record, item, index); - } - record = record._next; - } - } else { - index = 0; - iterateListLike(collection, (function(item) { - if (record === null || !looseIdentical(record.item, item)) { - record = $__0._mismatch(record, item, index); - mayBeDirty = true; - } else if (mayBeDirty) { - record = $__0._verifyReinsertion(record, item, index); - } - record = record._next; - index++; - })); - this._length = index; - } - this._truncate(record); - this._collection = collection; - return this.isDirty; - }, - get isDirty() { - return this._additionsHead !== null || this._movesHead !== null || this._removalsHead !== null; - }, - _reset: function() { - if (this.isDirty) { - var record; - var nextRecord; - for (record = this._previousItHead = this._itHead; record !== null; record = record._next) { - record._nextPrevious = record._next; - } - for (record = this._additionsHead; record !== null; record = record._nextAdded) { - record.previousIndex = record.currentIndex; - } - this._additionsHead = this._additionsTail = null; - for (record = this._movesHead; record !== null; record = nextRecord) { - record.previousIndex = record.currentIndex; - nextRecord = record._nextMoved; - } - this._movesHead = this._movesTail = null; - this._removalsHead = this._removalsTail = null; - } - }, - _mismatch: function(record, item, index) { - var previousRecord; - if (record === null) { - previousRecord = this._itTail; - } else { - previousRecord = record._prev; - this._remove(record); - } - record = this._linkedRecords === null ? null : this._linkedRecords.get(item, index); - if (record !== null) { - this._moveAfter(record, previousRecord, index); - } else { - record = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(item); - if (record !== null) { - this._reinsertAfter(record, previousRecord, index); - } else { - record = this._addAfter(new CollectionChangeRecord(item), previousRecord, index); - } - } - return record; - }, - _verifyReinsertion: function(record, item, index) { - var reinsertRecord = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(item); - if (reinsertRecord !== null) { - record = this._reinsertAfter(reinsertRecord, record._prev, index); - } else if (record.currentIndex != index) { - record.currentIndex = index; - this._addToMoves(record, index); - } - return record; - }, - _truncate: function(record) { - while (record !== null) { - var nextRecord = record._next; - this._addToRemovals(this._unlink(record)); - record = nextRecord; - } - if (this._unlinkedRecords !== null) { - this._unlinkedRecords.clear(); - } - if (this._additionsTail !== null) { - this._additionsTail._nextAdded = null; - } - if (this._movesTail !== null) { - this._movesTail._nextMoved = null; - } - if (this._itTail !== null) { - this._itTail._next = null; - } - if (this._removalsTail !== null) { - this._removalsTail._nextRemoved = null; - } - }, - _reinsertAfter: function(record, prevRecord, index) { - if (this._unlinkedRecords !== null) { - this._unlinkedRecords.remove(record); - } - var prev = record._prevRemoved; - var next = record._nextRemoved; - if (prev === null) { - this._removalsHead = next; - } else { - prev._nextRemoved = next; - } - if (next === null) { - this._removalsTail = prev; - } else { - next._prevRemoved = prev; - } - this._insertAfter(record, prevRecord, index); - this._addToMoves(record, index); - return record; - }, - _moveAfter: function(record, prevRecord, index) { - this._unlink(record); - this._insertAfter(record, prevRecord, index); - this._addToMoves(record, index); - return record; - }, - _addAfter: function(record, prevRecord, index) { - this._insertAfter(record, prevRecord, index); - if (this._additionsTail === null) { - this._additionsTail = this._additionsHead = record; - } else { - this._additionsTail = this._additionsTail._nextAdded = record; - } - return record; - }, - _insertAfter: function(record, prevRecord, index) { - var next = prevRecord === null ? this._itHead : prevRecord._next; - record._next = next; - record._prev = prevRecord; - if (next === null) { - this._itTail = record; - } else { - next._prev = record; - } - if (prevRecord === null) { - this._itHead = record; - } else { - prevRecord._next = record; - } - if (this._linkedRecords === null) { - this._linkedRecords = new _DuplicateMap(); - } - this._linkedRecords.put(record); - record.currentIndex = index; - return record; - }, - _remove: function(record) { - return this._addToRemovals(this._unlink(record)); - }, - _unlink: function(record) { - if (this._linkedRecords !== null) { - this._linkedRecords.remove(record); - } - var prev = record._prev; - var next = record._next; - if (prev === null) { - this._itHead = next; - } else { - prev._next = next; - } - if (next === null) { - this._itTail = prev; - } else { - next._prev = prev; - } - return record; - }, - _addToMoves: function(record, toIndex) { - if (record.previousIndex === toIndex) { - return record; - } - if (this._movesTail === null) { - this._movesTail = this._movesHead = record; - } else { - this._movesTail = this._movesTail._nextMoved = record; - } - return record; - }, - _addToRemovals: function(record) { - if (this._unlinkedRecords === null) { - this._unlinkedRecords = new _DuplicateMap(); - } - this._unlinkedRecords.put(record); - record.currentIndex = null; - record._nextRemoved = null; - if (this._removalsTail === null) { - this._removalsTail = this._removalsHead = record; - record._prevRemoved = null; - } else { - record._prevRemoved = this._removalsTail; - this._removalsTail = this._removalsTail._nextRemoved = record; - } - return record; - }, - toString: function() { - var record; - var list = []; - for (record = this._itHead; record !== null; record = record._next) { - ListWrapper.push(list, record); - } - var previous = []; - for (record = this._previousItHead; record !== null; record = record._nextPrevious) { - ListWrapper.push(previous, record); - } - var additions = []; - for (record = this._additionsHead; record !== null; record = record._nextAdded) { - ListWrapper.push(additions, record); - } - var moves = []; - for (record = this._movesHead; record !== null; record = record._nextMoved) { - ListWrapper.push(moves, record); - } - var removals = []; - for (record = this._removalsHead; record !== null; record = record._nextRemoved) { - ListWrapper.push(removals, record); - } - return "collection: " + list.join(', ') + "\n" + "previous: " + previous.join(', ') + "\n" + "additions: " + additions.join(', ') + "\n" + "moves: " + moves.join(', ') + "\n" + "removals: " + removals.join(', ') + "\n"; - } - }, {supportsObj: function(obj) { - return isListLikeIterable(obj); - }}, $__super); - }(Pipe))); - Object.defineProperty(IterableChanges.prototype.forEachItem, "parameters", {get: function() { - return [[Function]]; - }}); - Object.defineProperty(IterableChanges.prototype.forEachPreviousItem, "parameters", {get: function() { - return [[Function]]; - }}); - Object.defineProperty(IterableChanges.prototype.forEachAddedItem, "parameters", {get: function() { - return [[Function]]; - }}); - Object.defineProperty(IterableChanges.prototype.forEachMovedItem, "parameters", {get: function() { - return [[Function]]; - }}); - Object.defineProperty(IterableChanges.prototype.forEachRemovedItem, "parameters", {get: function() { - return [[Function]]; - }}); - Object.defineProperty(IterableChanges.prototype._mismatch, "parameters", {get: function() { - return [[CollectionChangeRecord], [], [int]]; - }}); - Object.defineProperty(IterableChanges.prototype._verifyReinsertion, "parameters", {get: function() { - return [[CollectionChangeRecord], [], [int]]; - }}); - Object.defineProperty(IterableChanges.prototype._truncate, "parameters", {get: function() { - return [[CollectionChangeRecord]]; - }}); - Object.defineProperty(IterableChanges.prototype._reinsertAfter, "parameters", {get: function() { - return [[CollectionChangeRecord], [CollectionChangeRecord], [int]]; - }}); - Object.defineProperty(IterableChanges.prototype._moveAfter, "parameters", {get: function() { - return [[CollectionChangeRecord], [CollectionChangeRecord], [int]]; - }}); - Object.defineProperty(IterableChanges.prototype._addAfter, "parameters", {get: function() { - return [[CollectionChangeRecord], [CollectionChangeRecord], [int]]; - }}); - Object.defineProperty(IterableChanges.prototype._insertAfter, "parameters", {get: function() { - return [[CollectionChangeRecord], [CollectionChangeRecord], [int]]; - }}); - Object.defineProperty(IterableChanges.prototype._remove, "parameters", {get: function() { - return [[CollectionChangeRecord]]; - }}); - Object.defineProperty(IterableChanges.prototype._unlink, "parameters", {get: function() { - return [[CollectionChangeRecord]]; - }}); - Object.defineProperty(IterableChanges.prototype._addToMoves, "parameters", {get: function() { - return [[CollectionChangeRecord], [int]]; - }}); - Object.defineProperty(IterableChanges.prototype._addToRemovals, "parameters", {get: function() { - return [[CollectionChangeRecord]]; - }}); - CollectionChangeRecord = $__export("CollectionChangeRecord", (function() { - var CollectionChangeRecord = function CollectionChangeRecord(item) { - this.currentIndex = null; - this.previousIndex = null; - this.item = item; - this._nextPrevious = null; - this._prev = null; - this._next = null; - this._prevDup = null; - this._nextDup = null; - this._prevRemoved = null; - this._nextRemoved = null; - this._nextAdded = null; - this._nextMoved = null; - }; - return ($traceurRuntime.createClass)(CollectionChangeRecord, {toString: function() { - return this.previousIndex === this.currentIndex ? stringify(this.item) : stringify(this.item) + '[' + stringify(this.previousIndex) + '->' + stringify(this.currentIndex) + ']'; - }}, {}); - }())); - _DuplicateItemRecordList = (function() { - var _DuplicateItemRecordList = function _DuplicateItemRecordList() { - this._head = null; - this._tail = null; - }; - return ($traceurRuntime.createClass)(_DuplicateItemRecordList, { - add: function(record) { - if (this._head === null) { - this._head = this._tail = record; - record._nextDup = null; - record._prevDup = null; - } else { - this._tail._nextDup = record; - record._prevDup = this._tail; - record._nextDup = null; - this._tail = record; - } - }, - get: function(item, afterIndex) { - var record; - for (record = this._head; record !== null; record = record._nextDup) { - if ((afterIndex === null || afterIndex < record.currentIndex) && looseIdentical(record.item, item)) { - return record; - } - } - return null; - }, - remove: function(record) { - var prev = record._prevDup; - var next = record._nextDup; - if (prev === null) { - this._head = next; - } else { - prev._nextDup = next; - } - if (next === null) { - this._tail = prev; - } else { - next._prevDup = prev; - } - return this._head === null; - } - }, {}); - }()); - Object.defineProperty(_DuplicateItemRecordList.prototype.add, "parameters", {get: function() { - return [[CollectionChangeRecord]]; - }}); - Object.defineProperty(_DuplicateItemRecordList.prototype.get, "parameters", {get: function() { - return [[], [int]]; - }}); - Object.defineProperty(_DuplicateItemRecordList.prototype.remove, "parameters", {get: function() { - return [[CollectionChangeRecord]]; - }}); - _DuplicateMap = (function() { - var _DuplicateMap = function _DuplicateMap() { - this.map = MapWrapper.create(); - }; - return ($traceurRuntime.createClass)(_DuplicateMap, { - put: function(record) { - var key = getMapKey(record.item); - var duplicates = MapWrapper.get(this.map, key); - if (!isPresent(duplicates)) { - duplicates = new _DuplicateItemRecordList(); - MapWrapper.set(this.map, key, duplicates); - } - duplicates.add(record); - }, - get: function(value) { - var afterIndex = arguments[1] !== (void 0) ? arguments[1] : null; - var key = getMapKey(value); - var recordList = MapWrapper.get(this.map, key); - return isBlank(recordList) ? null : recordList.get(value, afterIndex); - }, - remove: function(record) { - var key = getMapKey(record.item); - var recordList = MapWrapper.get(this.map, key); - if (recordList.remove(record)) { - MapWrapper.delete(this.map, key); - } - return record; - }, - get isEmpty() { - return MapWrapper.size(this.map) === 0; - }, - clear: function() { - MapWrapper.clear(this.map); - }, - toString: function() { - return '_DuplicateMap(' + stringify(this.map) + ')'; - } - }, {}); - }()); - Object.defineProperty(_DuplicateMap.prototype.put, "parameters", {get: function() { - return [[CollectionChangeRecord]]; - }}); - Object.defineProperty(_DuplicateMap.prototype.remove, "parameters", {get: function() { - return [[CollectionChangeRecord]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/pipes/iterable_changes.map - -//# sourceMappingURL=../../../src/change_detection/pipes/iterable_changes.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/pipes/iterable_changes.js.map b/angular2/src/change_detection/pipes/iterable_changes.js.map deleted file mode 100644 index 7b94574..0000000 --- a/angular2/src/change_detection/pipes/iterable_changes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/pipes/iterable_changes.js","@traceur/generated/TemplateParser/12","@traceur/generated/TemplateParser/11","src/change_detection/pipes/@traceur/generated/TemplateParser/24","@traceur/generated/TemplateParser/14"],"names":[],"mappings":"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","file":"src/change_detection/pipes/iterable_changes.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","import {\n isListLikeIterable,\n iterateListLike,\n ListWrapper,\n MapWrapper\n} from 'angular2/src/facade/collection';\n\nimport {\n int,\n isBlank,\n isPresent,\n stringify,\n getMapKey,\n looseIdentical,\n} from 'angular2/src/facade/lang';\n\nimport {NO_CHANGE, Pipe} from './pipe';\n\nexport class IterableChangesFactory {\n supports(obj):boolean {\n return IterableChanges.supportsObj(obj);\n }\n\n create():Pipe {\n return new IterableChanges();\n }\n}\n\nexport class IterableChanges extends Pipe {\n _collection;\n _length:int;\n _linkedRecords:_DuplicateMap;\n _unlinkedRecords:_DuplicateMap;\n _previousItHead:CollectionChangeRecord;\n _itHead:CollectionChangeRecord;\n _itTail:CollectionChangeRecord;\n _additionsHead:CollectionChangeRecord;\n _additionsTail:CollectionChangeRecord;\n _movesHead:CollectionChangeRecord;\n _movesTail:CollectionChangeRecord;\n _removalsHead:CollectionChangeRecord;\n _removalsTail:CollectionChangeRecord;\n\n constructor() {\n super();\n this._collection = null;\n this._length = null;\n /// Keeps track of the used records at any point in time (during & across `_check()` calls)\n this._linkedRecords = null;\n /// Keeps track of the removed records at any point in time during `_check()` calls.\n this._unlinkedRecords = null;\n\n this._previousItHead = null;\n this._itHead = null;\n this._itTail = null;\n this._additionsHead = null;\n this._additionsTail = null;\n this._movesHead = null;\n this._movesTail = null;\n this._removalsHead = null;\n this._removalsTail = null;\n }\n\n static supportsObj(obj):boolean {\n return isListLikeIterable(obj);\n }\n\n supports(obj):boolean {\n return IterableChanges.supportsObj(obj);\n }\n\n get collection() {\n return this._collection;\n }\n\n get length():int {\n return this._length;\n }\n\n forEachItem(fn:Function) {\n var record:CollectionChangeRecord;\n for (record = this._itHead; record !== null; record = record._next) {\n fn(record);\n }\n }\n\n forEachPreviousItem(fn:Function) {\n var record:CollectionChangeRecord;\n for (record = this._previousItHead; record !== null; record = record._nextPrevious) {\n fn(record);\n }\n }\n\n forEachAddedItem(fn:Function){\n var record:CollectionChangeRecord;\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n fn(record);\n }\n }\n\n forEachMovedItem(fn:Function) {\n var record:CollectionChangeRecord;\n for (record = this._movesHead; record !== null; record = record._nextMoved) {\n fn(record);\n }\n }\n\n forEachRemovedItem(fn:Function){\n var record:CollectionChangeRecord;\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n fn(record);\n }\n }\n\n transform(collection){\n if (this.check(collection)) {\n return this;\n } else {\n return NO_CHANGE;\n }\n }\n\n // todo(vicb): optim for UnmodifiableListView (frozen arrays)\n check(collection):boolean {\n this._reset();\n\n var record:CollectionChangeRecord = this._itHead;\n var mayBeDirty:boolean = false;\n var index:int, item;\n\n if (ListWrapper.isList(collection)) {\n var list = collection;\n this._length = collection.length;\n\n for (index = 0; index < this._length; index++) {\n item = list[index];\n if (record === null || !looseIdentical(record.item, item)) {\n record = this._mismatch(record, item, index);\n mayBeDirty = true;\n } else if (mayBeDirty) {\n // TODO(misko): can we limit this to duplicates only?\n record = this._verifyReinsertion(record, item, index);\n }\n record = record._next;\n }\n } else {\n index = 0;\n iterateListLike(collection, (item) => {\n if (record === null || !looseIdentical(record.item, item)) {\n record = this._mismatch(record, item, index);\n mayBeDirty = true;\n } else if (mayBeDirty) {\n // TODO(misko): can we limit this to duplicates only?\n record = this._verifyReinsertion(record, item, index);\n }\n record = record._next;\n index++\n });\n this._length = index;\n }\n\n this._truncate(record);\n this._collection = collection;\n return this.isDirty;\n }\n\n // CollectionChanges is considered dirty if it has any additions, moves or removals.\n get isDirty():boolean {\n return this._additionsHead !== null ||\n this._movesHead !== null ||\n this._removalsHead !== null;\n }\n\n /**\n * Reset the state of the change objects to show no changes. This means set previousKey to\n * currentKey, and clear all of the queues (additions, moves, removals).\n * Set the previousIndexes of moved and added items to their currentIndexes\n * Reset the list of additions, moves and removals\n */\n _reset() {\n if (this.isDirty) {\n var record:CollectionChangeRecord;\n var nextRecord:CollectionChangeRecord;\n\n for (record = this._previousItHead = this._itHead; record !== null; record = record._next) {\n record._nextPrevious = record._next;\n }\n\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n record.previousIndex = record.currentIndex;\n }\n this._additionsHead = this._additionsTail = null;\n\n for (record = this._movesHead; record !== null; record = nextRecord) {\n record.previousIndex = record.currentIndex;\n nextRecord = record._nextMoved;\n }\n this._movesHead = this._movesTail = null;\n this._removalsHead = this._removalsTail = null;\n\n // todo(vicb) when assert gets supported\n // assert(!this.isDirty);\n }\n }\n\n /**\n * This is the core function which handles differences between collections.\n *\n * - [record] is the record which we saw at this position last time. If null then it is a new\n * item.\n * - [item] is the current item in the collection\n * - [index] is the position of the item in the collection\n */\n _mismatch(record:CollectionChangeRecord, item, index:int):CollectionChangeRecord {\n // The previous record after which we will append the current one.\n var previousRecord:CollectionChangeRecord;\n\n if (record === null) {\n previousRecord = this._itTail;\n } else {\n previousRecord = record._prev;\n // Remove the record from the collection since we know it does not match the item.\n this._remove(record);\n }\n\n // Attempt to see if we have seen the item before.\n record = this._linkedRecords === null ? null : this._linkedRecords.get(item, index);\n if (record !== null) {\n // We have seen this before, we need to move it forward in the collection.\n this._moveAfter(record, previousRecord, index);\n } else {\n // Never seen it, check evicted list.\n record = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(item);\n if (record !== null) {\n // It is an item which we have evicted earlier: reinsert it back into the list.\n this._reinsertAfter(record, previousRecord, index);\n } else {\n // It is a new item: add it.\n record = this._addAfter(new CollectionChangeRecord(item), previousRecord, index);\n }\n }\n return record;\n }\n\n /**\n * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty)\n *\n * Use case: `[a, a]` => `[b, a, a]`\n *\n * If we did not have this check then the insertion of `b` would:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) leave `a` at index `1` as is. <-- this is wrong!\n * 3) reinsert `a` at index 2. <-- this is wrong!\n *\n * The correct behavior is:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) reinsert `a` at index 1.\n * 3) move `a` at from `1` to `2`.\n *\n *\n * Double check that we have not evicted a duplicate item. We need to check if the item type may\n * have already been removed:\n * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted\n * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a\n * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a'\n * at the end.\n */\n _verifyReinsertion(record:CollectionChangeRecord, item, index:int):CollectionChangeRecord {\n var reinsertRecord:CollectionChangeRecord = this._unlinkedRecords === null ?\n null : this._unlinkedRecords.get(item);\n if (reinsertRecord !== null) {\n record = this._reinsertAfter(reinsertRecord, record._prev, index);\n } else if (record.currentIndex != index) {\n record.currentIndex = index;\n this._addToMoves(record, index);\n }\n return record;\n }\n\n /**\n * Get rid of any excess [CollectionChangeRecord]s from the previous collection\n *\n * - [record] The first excess [CollectionChangeRecord].\n */\n _truncate(record:CollectionChangeRecord) {\n // Anything after that needs to be removed;\n while (record !== null) {\n var nextRecord:CollectionChangeRecord = record._next;\n this._addToRemovals(this._unlink(record));\n record = nextRecord;\n }\n if (this._unlinkedRecords !== null) {\n this._unlinkedRecords.clear();\n }\n\n if (this._additionsTail !== null) {\n this._additionsTail._nextAdded = null;\n }\n if (this._movesTail !== null) {\n this._movesTail._nextMoved = null;\n }\n if (this._itTail !== null) {\n this._itTail._next = null;\n }\n if (this._removalsTail !== null) {\n this._removalsTail._nextRemoved = null;\n }\n }\n\n _reinsertAfter(record:CollectionChangeRecord, prevRecord:CollectionChangeRecord,\n index:int):CollectionChangeRecord {\n if (this._unlinkedRecords !== null) {\n this._unlinkedRecords.remove(record);\n }\n var prev = record._prevRemoved;\n var next = record._nextRemoved;\n\n if (prev === null) {\n this._removalsHead = next;\n } else {\n prev._nextRemoved = next;\n }\n if (next === null) {\n this._removalsTail = prev;\n } else {\n next._prevRemoved = prev;\n }\n\n this._insertAfter(record, prevRecord, index);\n this._addToMoves(record, index);\n return record;\n }\n\n _moveAfter(record:CollectionChangeRecord, prevRecord:CollectionChangeRecord,\n index:int):CollectionChangeRecord {\n this._unlink(record);\n this._insertAfter(record, prevRecord, index);\n this._addToMoves(record, index);\n return record;\n }\n\n _addAfter(record:CollectionChangeRecord, prevRecord:CollectionChangeRecord,\n index:int):CollectionChangeRecord {\n this._insertAfter(record, prevRecord, index);\n\n if (this._additionsTail === null) {\n // todo(vicb)\n //assert(this._additionsHead === null);\n this._additionsTail = this._additionsHead = record;\n } else {\n // todo(vicb)\n //assert(_additionsTail._nextAdded === null);\n //assert(record._nextAdded === null);\n this._additionsTail = this._additionsTail._nextAdded = record;\n }\n return record;\n }\n\n _insertAfter(record:CollectionChangeRecord, prevRecord:CollectionChangeRecord,\n index:int):CollectionChangeRecord {\n // todo(vicb)\n //assert(record != prevRecord);\n //assert(record._next === null);\n //assert(record._prev === null);\n\n var next:CollectionChangeRecord = prevRecord === null ? this._itHead :prevRecord._next;\n // todo(vicb)\n //assert(next != record);\n //assert(prevRecord != record);\n record._next = next;\n record._prev = prevRecord;\n if (next === null) {\n this._itTail = record;\n } else {\n next._prev = record;\n }\n if (prevRecord === null) {\n this._itHead = record;\n } else {\n prevRecord._next = record;\n }\n\n if (this._linkedRecords === null) {\n this._linkedRecords = new _DuplicateMap();\n }\n this._linkedRecords.put(record);\n\n record.currentIndex = index;\n return record;\n }\n\n _remove(record:CollectionChangeRecord):CollectionChangeRecord {\n return this._addToRemovals(this._unlink(record));\n }\n\n _unlink(record:CollectionChangeRecord):CollectionChangeRecord {\n if (this._linkedRecords !== null) {\n this._linkedRecords.remove(record);\n }\n\n var prev = record._prev;\n var next = record._next;\n\n // todo(vicb)\n //assert((record._prev = null) === null);\n //assert((record._next = null) === null);\n\n if (prev === null) {\n this._itHead = next;\n } else {\n prev._next = next;\n }\n if (next === null) {\n this._itTail = prev;\n } else {\n next._prev = prev;\n }\n\n return record;\n }\n\n _addToMoves(record:CollectionChangeRecord, toIndex:int):CollectionChangeRecord {\n // todo(vicb)\n //assert(record._nextMoved === null);\n\n if (record.previousIndex === toIndex) {\n return record;\n }\n\n if (this._movesTail === null) {\n // todo(vicb)\n //assert(_movesHead === null);\n this._movesTail = this._movesHead = record;\n } else {\n // todo(vicb)\n //assert(_movesTail._nextMoved === null);\n this._movesTail = this._movesTail._nextMoved = record;\n }\n\n return record;\n }\n\n _addToRemovals(record:CollectionChangeRecord):CollectionChangeRecord {\n if (this._unlinkedRecords === null) {\n this._unlinkedRecords = new _DuplicateMap();\n }\n this._unlinkedRecords.put(record);\n record.currentIndex = null;\n record._nextRemoved = null;\n\n if (this._removalsTail === null) {\n // todo(vicb)\n //assert(_removalsHead === null);\n this._removalsTail = this._removalsHead = record;\n record._prevRemoved = null;\n } else {\n // todo(vicb)\n //assert(_removalsTail._nextRemoved === null);\n //assert(record._nextRemoved === null);\n record._prevRemoved = this._removalsTail;\n this._removalsTail = this._removalsTail._nextRemoved = record;\n }\n return record;\n }\n\n toString():string {\n var record:CollectionChangeRecord;\n\n var list = [];\n for (record = this._itHead; record !== null; record = record._next) {\n ListWrapper.push(list, record);\n }\n\n var previous = [];\n for (record = this._previousItHead; record !== null; record = record._nextPrevious) {\n ListWrapper.push(previous, record);\n }\n\n var additions = [];\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n ListWrapper.push(additions, record);\n }\n var moves = [];\n for (record = this._movesHead; record !== null; record = record._nextMoved) {\n ListWrapper.push(moves, record);\n }\n\n var removals = [];\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n ListWrapper.push(removals, record);\n }\n\n return \"collection: \" + list.join(', ') + \"\\n\" +\n \"previous: \" + previous.join(', ') + \"\\n\" +\n \"additions: \" + additions.join(', ') + \"\\n\" +\n \"moves: \" + moves.join(', ') + \"\\n\" +\n \"removals: \" + removals.join(', ') + \"\\n\";\n }\n}\n\nexport class CollectionChangeRecord {\n currentIndex:int;\n previousIndex:int;\n item;\n\n _nextPrevious:CollectionChangeRecord;\n _prev:CollectionChangeRecord; _next:CollectionChangeRecord;\n _prevDup:CollectionChangeRecord; _nextDup:CollectionChangeRecord;\n _prevRemoved:CollectionChangeRecord; _nextRemoved:CollectionChangeRecord;\n _nextAdded:CollectionChangeRecord;\n _nextMoved:CollectionChangeRecord;\n\n constructor(item) {\n this.currentIndex = null;\n this.previousIndex = null;\n this.item = item;\n\n this._nextPrevious = null;\n this._prev = null;\n this._next = null;\n this._prevDup = null;\n this._nextDup = null;\n this._prevRemoved = null;\n this._nextRemoved = null;\n this._nextAdded = null;\n this._nextMoved = null;\n }\n\n toString():string {\n return this.previousIndex === this.currentIndex ?\n stringify(this.item) :\n stringify(this.item) + '[' + stringify(this.previousIndex) + '->' +\n stringify(this.currentIndex) + ']';\n }\n}\n\n// A linked list of CollectionChangeRecords with the same CollectionChangeRecord.item\nclass _DuplicateItemRecordList {\n _head:CollectionChangeRecord;\n _tail:CollectionChangeRecord;\n\n constructor() {\n this._head = null;\n this._tail = null;\n }\n\n /**\n * Append the record to the list of duplicates.\n *\n * Note: by design all records in the list of duplicates hold the same value in record.item.\n */\n add(record:CollectionChangeRecord) {\n if (this._head === null) {\n this._head = this._tail = record;\n record._nextDup = null;\n record._prevDup = null;\n } else {\n // todo(vicb)\n //assert(record.item == _head.item ||\n // record.item is num && record.item.isNaN && _head.item is num && _head.item.isNaN);\n this._tail._nextDup = record;\n record._prevDup = this._tail;\n record._nextDup = null;\n this._tail = record;\n }\n }\n\n // Returns a CollectionChangeRecord having CollectionChangeRecord.item == item and\n // CollectionChangeRecord.currentIndex >= afterIndex\n get(item, afterIndex:int):CollectionChangeRecord {\n var record:CollectionChangeRecord;\n for (record = this._head; record !== null; record = record._nextDup) {\n if ((afterIndex === null || afterIndex < record.currentIndex) &&\n looseIdentical(record.item, item)) {\n return record;\n }\n }\n return null;\n }\n\n /**\n * Remove one [CollectionChangeRecord] from the list of duplicates.\n *\n * Returns whether the list of duplicates is empty.\n */\n remove(record:CollectionChangeRecord):boolean {\n // todo(vicb)\n //assert(() {\n // // verify that the record being removed is in the list.\n // for (CollectionChangeRecord cursor = _head; cursor != null; cursor = cursor._nextDup) {\n // if (identical(cursor, record)) return true;\n // }\n // return false;\n //});\n\n var prev:CollectionChangeRecord = record._prevDup;\n var next:CollectionChangeRecord = record._nextDup;\n if (prev === null) {\n this._head = next;\n } else {\n prev._nextDup = next;\n }\n if (next === null) {\n this._tail = prev;\n } else {\n next._prevDup = prev;\n }\n return this._head === null;\n }\n}\n\nclass _DuplicateMap {\n map:Map;\n constructor() {\n this.map = MapWrapper.create();\n }\n\n put(record:CollectionChangeRecord) {\n // todo(vicb) handle corner cases\n var key = getMapKey(record.item);\n\n var duplicates = MapWrapper.get(this.map, key);\n if (!isPresent(duplicates)) {\n duplicates = new _DuplicateItemRecordList();\n MapWrapper.set(this.map, key, duplicates);\n }\n duplicates.add(record);\n }\n\n /**\n * Retrieve the `value` using key. Because the CollectionChangeRecord value maybe one which we\n * have already iterated over, we use the afterIndex to pretend it is not there.\n *\n * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we\n * have any more `a`s needs to return the last `a` not the first or second.\n */\n get(value, afterIndex = null):CollectionChangeRecord {\n var key = getMapKey(value);\n\n var recordList = MapWrapper.get(this.map, key);\n return isBlank(recordList) ? null : recordList.get(value, afterIndex);\n }\n\n /**\n * Removes an [CollectionChangeRecord] from the list of duplicates.\n *\n * The list of duplicates also is removed from the map if it gets empty.\n */\n remove(record:CollectionChangeRecord):CollectionChangeRecord {\n var key = getMapKey(record.item);\n // todo(vicb)\n //assert(this.map.containsKey(key));\n var recordList:_DuplicateItemRecordList = MapWrapper.get(this.map, key);\n // Remove the list of duplicates when it gets empty\n if (recordList.remove(record)) {\n MapWrapper.delete(this.map, key);\n }\n return record;\n }\n\n get isEmpty():boolean {\n return MapWrapper.size(this.map) === 0;\n }\n\n clear() {\n MapWrapper.clear(this.map);\n }\n\n toString():string {\n return '_DuplicateMap(' + stringify(this.map) + ')';\n }\n}\n","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","$traceurRuntime.superConstructor($__placeholder__0).call($__placeholder__1)","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","$__placeholder__0 = $__placeholder__1"]} \ No newline at end of file diff --git a/angular2/src/change_detection/pipes/keyvalue_changes.js b/angular2/src/change_detection/pipes/keyvalue_changes.js deleted file mode 100644 index b78e813..0000000 --- a/angular2/src/change_detection/pipes/keyvalue_changes.js +++ /dev/null @@ -1,328 +0,0 @@ -System.register(["angular2/src/facade/collection", "angular2/src/facade/lang", "./pipe"], function($__export) { - "use strict"; - var ListWrapper, - MapWrapper, - StringMapWrapper, - stringify, - looseIdentical, - isJsObject, - NO_CHANGE, - Pipe, - KeyValueChangesFactory, - KeyValueChanges, - KVChangeRecord; - return { - setters: [function($__m) { - ListWrapper = $__m.ListWrapper; - MapWrapper = $__m.MapWrapper; - StringMapWrapper = $__m.StringMapWrapper; - }, function($__m) { - stringify = $__m.stringify; - looseIdentical = $__m.looseIdentical; - isJsObject = $__m.isJsObject; - }, function($__m) { - NO_CHANGE = $__m.NO_CHANGE; - Pipe = $__m.Pipe; - }], - execute: function() { - KeyValueChangesFactory = $__export("KeyValueChangesFactory", (function() { - var KeyValueChangesFactory = function KeyValueChangesFactory() {}; - return ($traceurRuntime.createClass)(KeyValueChangesFactory, { - supports: function(obj) { - return KeyValueChanges.supportsObj(obj); - }, - create: function() { - return new KeyValueChanges(); - } - }, {}); - }())); - KeyValueChanges = $__export("KeyValueChanges", (function($__super) { - var KeyValueChanges = function KeyValueChanges() { - $traceurRuntime.superConstructor(KeyValueChanges).call(this); - this._records = MapWrapper.create(); - this._mapHead = null; - this._previousMapHead = null; - this._changesHead = null; - this._changesTail = null; - this._additionsHead = null; - this._additionsTail = null; - this._removalsHead = null; - this._removalsTail = null; - }; - return ($traceurRuntime.createClass)(KeyValueChanges, { - supports: function(obj) { - return KeyValueChanges.supportsObj(obj); - }, - transform: function(map) { - if (this.check(map)) { - return this; - } else { - return NO_CHANGE; - } - }, - get isDirty() { - return this._additionsHead !== null || this._changesHead !== null || this._removalsHead !== null; - }, - forEachItem: function(fn) { - var record; - for (record = this._mapHead; record !== null; record = record._next) { - fn(record); - } - }, - forEachPreviousItem: function(fn) { - var record; - for (record = this._previousMapHead; record !== null; record = record._nextPrevious) { - fn(record); - } - }, - forEachChangedItem: function(fn) { - var record; - for (record = this._changesHead; record !== null; record = record._nextChanged) { - fn(record); - } - }, - forEachAddedItem: function(fn) { - var record; - for (record = this._additionsHead; record !== null; record = record._nextAdded) { - fn(record); - } - }, - forEachRemovedItem: function(fn) { - var record; - for (record = this._removalsHead; record !== null; record = record._nextRemoved) { - fn(record); - } - }, - check: function(map) { - var $__0 = this; - this._reset(); - var records = this._records; - var oldSeqRecord = this._mapHead; - var lastOldSeqRecord = null; - var lastNewSeqRecord = null; - var seqChanged = false; - this._forEach(map, (function(value, key) { - var newSeqRecord; - if (oldSeqRecord !== null && key === oldSeqRecord.key) { - newSeqRecord = oldSeqRecord; - if (!looseIdentical(value, oldSeqRecord._currentValue)) { - oldSeqRecord._previousValue = oldSeqRecord._currentValue; - oldSeqRecord._currentValue = value; - $__0._addToChanges(oldSeqRecord); - } - } else { - seqChanged = true; - if (oldSeqRecord !== null) { - oldSeqRecord._next = null; - $__0._removeFromSeq(lastOldSeqRecord, oldSeqRecord); - $__0._addToRemovals(oldSeqRecord); - } - if (MapWrapper.contains(records, key)) { - newSeqRecord = MapWrapper.get(records, key); - } else { - newSeqRecord = new KVChangeRecord(key); - MapWrapper.set(records, key, newSeqRecord); - newSeqRecord._currentValue = value; - $__0._addToAdditions(newSeqRecord); - } - } - if (seqChanged) { - if ($__0._isInRemovals(newSeqRecord)) { - $__0._removeFromRemovals(newSeqRecord); - } - if (lastNewSeqRecord == null) { - $__0._mapHead = newSeqRecord; - } else { - lastNewSeqRecord._next = newSeqRecord; - } - } - lastOldSeqRecord = oldSeqRecord; - lastNewSeqRecord = newSeqRecord; - oldSeqRecord = oldSeqRecord === null ? null : oldSeqRecord._next; - })); - this._truncate(lastOldSeqRecord, oldSeqRecord); - return this.isDirty; - }, - _reset: function() { - if (this.isDirty) { - var record; - for (record = this._previousMapHead = this._mapHead; record !== null; record = record._next) { - record._nextPrevious = record._next; - } - for (record = this._changesHead; record !== null; record = record._nextChanged) { - record._previousValue = record._currentValue; - } - for (record = this._additionsHead; record != null; record = record._nextAdded) { - record._previousValue = record._currentValue; - } - this._changesHead = this._changesTail = null; - this._additionsHead = this._additionsTail = null; - this._removalsHead = this._removalsTail = null; - } - }, - _truncate: function(lastRecord, record) { - while (record !== null) { - if (lastRecord === null) { - this._mapHead = null; - } else { - lastRecord._next = null; - } - var nextRecord = record._next; - this._addToRemovals(record); - lastRecord = record; - record = nextRecord; - } - for (var rec = this._removalsHead; rec !== null; rec = rec._nextRemoved) { - rec._previousValue = rec._currentValue; - rec._currentValue = null; - MapWrapper.delete(this._records, rec.key); - } - }, - _isInRemovals: function(record) { - return record === this._removalsHead || record._nextRemoved !== null || record._prevRemoved !== null; - }, - _addToRemovals: function(record) { - if (this._removalsHead === null) { - this._removalsHead = this._removalsTail = record; - } else { - this._removalsTail._nextRemoved = record; - record._prevRemoved = this._removalsTail; - this._removalsTail = record; - } - }, - _removeFromSeq: function(prev, record) { - var next = record._next; - if (prev === null) { - this._mapHead = next; - } else { - prev._next = next; - } - }, - _removeFromRemovals: function(record) { - var prev = record._prevRemoved; - var next = record._nextRemoved; - if (prev === null) { - this._removalsHead = next; - } else { - prev._nextRemoved = next; - } - if (next === null) { - this._removalsTail = prev; - } else { - next._prevRemoved = prev; - } - record._prevRemoved = record._nextRemoved = null; - }, - _addToAdditions: function(record) { - if (this._additionsHead === null) { - this._additionsHead = this._additionsTail = record; - } else { - this._additionsTail._nextAdded = record; - this._additionsTail = record; - } - }, - _addToChanges: function(record) { - if (this._changesHead === null) { - this._changesHead = this._changesTail = record; - } else { - this._changesTail._nextChanged = record; - this._changesTail = record; - } - }, - toString: function() { - var items = []; - var previous = []; - var changes = []; - var additions = []; - var removals = []; - var record; - for (record = this._mapHead; record !== null; record = record._next) { - ListWrapper.push(items, stringify(record)); - } - for (record = this._previousMapHead; record !== null; record = record._nextPrevious) { - ListWrapper.push(previous, stringify(record)); - } - for (record = this._changesHead; record !== null; record = record._nextChanged) { - ListWrapper.push(changes, stringify(record)); - } - for (record = this._additionsHead; record !== null; record = record._nextAdded) { - ListWrapper.push(additions, stringify(record)); - } - for (record = this._removalsHead; record !== null; record = record._nextRemoved) { - ListWrapper.push(removals, stringify(record)); - } - return "map: " + items.join(', ') + "\n" + "previous: " + previous.join(', ') + "\n" + "additions: " + additions.join(', ') + "\n" + "changes: " + changes.join(', ') + "\n" + "removals: " + removals.join(', ') + "\n"; - }, - _forEach: function(obj, fn) { - if (obj instanceof Map) { - MapWrapper.forEach(obj, fn); - } else { - StringMapWrapper.forEach(obj, fn); - } - } - }, {supportsObj: function(obj) { - return obj instanceof Map || isJsObject(obj); - }}, $__super); - }(Pipe))); - Object.defineProperty(KeyValueChanges.prototype.forEachItem, "parameters", {get: function() { - return [[Function]]; - }}); - Object.defineProperty(KeyValueChanges.prototype.forEachPreviousItem, "parameters", {get: function() { - return [[Function]]; - }}); - Object.defineProperty(KeyValueChanges.prototype.forEachChangedItem, "parameters", {get: function() { - return [[Function]]; - }}); - Object.defineProperty(KeyValueChanges.prototype.forEachAddedItem, "parameters", {get: function() { - return [[Function]]; - }}); - Object.defineProperty(KeyValueChanges.prototype.forEachRemovedItem, "parameters", {get: function() { - return [[Function]]; - }}); - Object.defineProperty(KeyValueChanges.prototype._truncate, "parameters", {get: function() { - return [[KVChangeRecord], [KVChangeRecord]]; - }}); - Object.defineProperty(KeyValueChanges.prototype._isInRemovals, "parameters", {get: function() { - return [[KVChangeRecord]]; - }}); - Object.defineProperty(KeyValueChanges.prototype._addToRemovals, "parameters", {get: function() { - return [[KVChangeRecord]]; - }}); - Object.defineProperty(KeyValueChanges.prototype._removeFromSeq, "parameters", {get: function() { - return [[KVChangeRecord], [KVChangeRecord]]; - }}); - Object.defineProperty(KeyValueChanges.prototype._removeFromRemovals, "parameters", {get: function() { - return [[KVChangeRecord]]; - }}); - Object.defineProperty(KeyValueChanges.prototype._addToAdditions, "parameters", {get: function() { - return [[KVChangeRecord]]; - }}); - Object.defineProperty(KeyValueChanges.prototype._addToChanges, "parameters", {get: function() { - return [[KVChangeRecord]]; - }}); - Object.defineProperty(KeyValueChanges.prototype._forEach, "parameters", {get: function() { - return [[], [Function]]; - }}); - KVChangeRecord = $__export("KVChangeRecord", (function() { - var KVChangeRecord = function KVChangeRecord(key) { - this.key = key; - this._previousValue = null; - this._currentValue = null; - this._nextPrevious = null; - this._next = null; - this._nextAdded = null; - this._nextRemoved = null; - this._prevRemoved = null; - this._nextChanged = null; - }; - return ($traceurRuntime.createClass)(KVChangeRecord, {toString: function() { - return looseIdentical(this._previousValue, this._currentValue) ? stringify(this.key) : (stringify(this.key) + '[' + stringify(this._previousValue) + '->' + stringify(this._currentValue) + ']'); - }}, {}); - }())); - } - }; -}); - -//# sourceMappingURL=src/change_detection/pipes/keyvalue_changes.map - -//# sourceMappingURL=../../../src/change_detection/pipes/keyvalue_changes.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/pipes/keyvalue_changes.js.map b/angular2/src/change_detection/pipes/keyvalue_changes.js.map deleted file mode 100644 index 2a4eb42..0000000 --- a/angular2/src/change_detection/pipes/keyvalue_changes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/pipes/keyvalue_changes.js","@traceur/generated/TemplateParser/12","@traceur/generated/TemplateParser/11","src/change_detection/pipes/@traceur/generated/TemplateParser/24"],"names":[],"mappings":"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","file":"src/change_detection/pipes/keyvalue_changes.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","import {ListWrapper, MapWrapper, StringMapWrapper} from 'angular2/src/facade/collection';\nimport {stringify, looseIdentical, isJsObject} from 'angular2/src/facade/lang';\n\nimport {NO_CHANGE, Pipe} from './pipe';\n\nexport class KeyValueChangesFactory {\n supports(obj):boolean {\n return KeyValueChanges.supportsObj(obj);\n }\n\n create():Pipe {\n return new KeyValueChanges();\n }\n}\n\nexport class KeyValueChanges extends Pipe {\n _records:Map;\n\n _mapHead:KVChangeRecord;\n _previousMapHead:KVChangeRecord;\n _changesHead:KVChangeRecord;\n _changesTail:KVChangeRecord;\n _additionsHead:KVChangeRecord;\n _additionsTail:KVChangeRecord;\n _removalsHead:KVChangeRecord;\n _removalsTail:KVChangeRecord;\n\n constructor() {\n super();\n this._records = MapWrapper.create();\n this._mapHead = null;\n this._previousMapHead = null;\n this._changesHead = null;\n this._changesTail = null;\n this._additionsHead = null;\n this._additionsTail = null;\n this._removalsHead = null;\n this._removalsTail = null;\n }\n\n static supportsObj(obj):boolean {\n return obj instanceof Map || isJsObject(obj);\n }\n\n supports(obj):boolean {\n return KeyValueChanges.supportsObj(obj);\n }\n\n transform(map){\n if (this.check(map)) {\n return this;\n } else {\n return NO_CHANGE;\n }\n }\n\n get isDirty():boolean {\n return this._additionsHead !== null ||\n this._changesHead !== null ||\n this._removalsHead !== null;\n }\n\n forEachItem(fn:Function) {\n var record:KVChangeRecord;\n for (record = this._mapHead; record !== null; record = record._next) {\n fn(record);\n }\n }\n\n forEachPreviousItem(fn:Function) {\n var record:KVChangeRecord;\n for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n fn(record);\n }\n }\n\n forEachChangedItem(fn:Function) {\n var record:KVChangeRecord;\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n fn(record);\n }\n }\n\n forEachAddedItem(fn:Function){\n var record:KVChangeRecord;\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n fn(record);\n }\n }\n\n forEachRemovedItem(fn:Function){\n var record:KVChangeRecord;\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n fn(record);\n }\n }\n\n check(map):boolean {\n this._reset();\n var records = this._records;\n var oldSeqRecord:KVChangeRecord = this._mapHead;\n var lastOldSeqRecord:KVChangeRecord = null;\n var lastNewSeqRecord:KVChangeRecord = null;\n var seqChanged:boolean = false;\n\n this._forEach(map, (value, key) => {\n var newSeqRecord;\n if (oldSeqRecord !== null && key === oldSeqRecord.key) {\n newSeqRecord = oldSeqRecord;\n if (!looseIdentical(value, oldSeqRecord._currentValue)) {\n oldSeqRecord._previousValue = oldSeqRecord._currentValue;\n oldSeqRecord._currentValue = value;\n this._addToChanges(oldSeqRecord);\n }\n } else {\n seqChanged = true;\n if (oldSeqRecord !== null) {\n oldSeqRecord._next = null;\n this._removeFromSeq(lastOldSeqRecord, oldSeqRecord);\n this._addToRemovals(oldSeqRecord);\n }\n if (MapWrapper.contains(records, key)) {\n newSeqRecord = MapWrapper.get(records, key);\n } else {\n newSeqRecord = new KVChangeRecord(key);\n MapWrapper.set(records, key, newSeqRecord);\n newSeqRecord._currentValue = value;\n this._addToAdditions(newSeqRecord);\n }\n }\n\n if (seqChanged) {\n if (this._isInRemovals(newSeqRecord)) {\n this._removeFromRemovals(newSeqRecord);\n }\n if (lastNewSeqRecord == null) {\n this._mapHead = newSeqRecord;\n } else {\n lastNewSeqRecord._next = newSeqRecord;\n }\n }\n lastOldSeqRecord = oldSeqRecord;\n lastNewSeqRecord = newSeqRecord;\n oldSeqRecord = oldSeqRecord === null ? null : oldSeqRecord._next;\n });\n this._truncate(lastOldSeqRecord, oldSeqRecord);\n return this.isDirty;\n }\n\n _reset() {\n if (this.isDirty) {\n var record:KVChangeRecord;\n // Record the state of the mapping\n for (record = this._previousMapHead = this._mapHead;\n record !== null;\n record = record._next) {\n record._nextPrevious = record._next;\n }\n\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n record._previousValue = record._currentValue;\n }\n\n for (record = this._additionsHead; record != null; record = record._nextAdded) {\n record._previousValue = record._currentValue;\n }\n\n // todo(vicb) once assert is supported\n //assert(() {\n // var r = _changesHead;\n // while (r != null) {\n // var nextRecord = r._nextChanged;\n // r._nextChanged = null;\n // r = nextRecord;\n // }\n //\n // r = _additionsHead;\n // while (r != null) {\n // var nextRecord = r._nextAdded;\n // r._nextAdded = null;\n // r = nextRecord;\n // }\n //\n // r = _removalsHead;\n // while (r != null) {\n // var nextRecord = r._nextRemoved;\n // r._nextRemoved = null;\n // r = nextRecord;\n // }\n //\n // return true;\n //});\n this._changesHead = this._changesTail = null;\n this._additionsHead = this._additionsTail = null;\n this._removalsHead = this._removalsTail = null;\n }\n }\n\n _truncate(lastRecord:KVChangeRecord, record:KVChangeRecord) {\n while (record !== null) {\n if (lastRecord === null) {\n this._mapHead = null;\n } else {\n lastRecord._next = null;\n }\n var nextRecord = record._next;\n // todo(vicb) assert\n //assert((() {\n // record._next = null;\n // return true;\n //}));\n this._addToRemovals(record);\n lastRecord = record;\n record = nextRecord;\n }\n\n for (var rec:KVChangeRecord = this._removalsHead; rec !== null; rec = rec._nextRemoved) {\n rec._previousValue = rec._currentValue;\n rec._currentValue = null;\n MapWrapper.delete(this._records, rec.key);\n }\n }\n\n _isInRemovals(record:KVChangeRecord) {\n return record === this._removalsHead ||\n record._nextRemoved !== null ||\n record._prevRemoved !== null;\n }\n\n _addToRemovals(record:KVChangeRecord) {\n // todo(vicb) assert\n //assert(record._next == null);\n //assert(record._nextAdded == null);\n //assert(record._nextChanged == null);\n //assert(record._nextRemoved == null);\n //assert(record._prevRemoved == null);\n if (this._removalsHead === null) {\n this._removalsHead = this._removalsTail = record;\n } else {\n this._removalsTail._nextRemoved = record;\n record._prevRemoved = this._removalsTail;\n this._removalsTail = record;\n }\n }\n\n _removeFromSeq(prev:KVChangeRecord, record:KVChangeRecord) {\n var next = record._next;\n if (prev === null) {\n this._mapHead = next;\n } else {\n prev._next = next;\n }\n // todo(vicb) assert\n //assert((() {\n // record._next = null;\n // return true;\n //})());\n }\n\n _removeFromRemovals(record:KVChangeRecord) {\n // todo(vicb) assert\n //assert(record._next == null);\n //assert(record._nextAdded == null);\n //assert(record._nextChanged == null);\n\n var prev = record._prevRemoved;\n var next = record._nextRemoved;\n if (prev === null) {\n this._removalsHead = next;\n } else {\n prev._nextRemoved = next;\n }\n if (next === null) {\n this._removalsTail = prev;\n } else {\n next._prevRemoved = prev;\n }\n record._prevRemoved = record._nextRemoved = null;\n }\n\n _addToAdditions(record:KVChangeRecord) {\n // todo(vicb): assert\n //assert(record._next == null);\n //assert(record._nextAdded == null);\n //assert(record._nextChanged == null);\n //assert(record._nextRemoved == null);\n //assert(record._prevRemoved == null);\n if (this._additionsHead === null) {\n this._additionsHead = this._additionsTail = record;\n } else {\n this._additionsTail._nextAdded = record;\n this._additionsTail = record;\n }\n }\n\n _addToChanges(record:KVChangeRecord) {\n // todo(vicb) assert\n //assert(record._nextAdded == null);\n //assert(record._nextChanged == null);\n //assert(record._nextRemoved == null);\n //assert(record._prevRemoved == null);\n if (this._changesHead === null) {\n this._changesHead = this._changesTail = record;\n } else {\n this._changesTail._nextChanged = record;\n this._changesTail = record;\n }\n }\n\n toString():string {\n var items = [];\n var previous = [];\n var changes = [];\n var additions = [];\n var removals = [];\n var record:KVChangeRecord;\n\n for (record = this._mapHead; record !== null; record = record._next) {\n ListWrapper.push(items, stringify(record));\n }\n for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n ListWrapper.push(previous, stringify(record));\n }\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n ListWrapper.push(changes, stringify(record));\n }\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n ListWrapper.push(additions, stringify(record));\n }\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n ListWrapper.push(removals, stringify(record));\n }\n\n return \"map: \" + items.join(', ') + \"\\n\" +\n \"previous: \" + previous.join(', ') + \"\\n\" +\n \"additions: \" + additions.join(', ') + \"\\n\" +\n \"changes: \" + changes.join(', ') + \"\\n\" +\n \"removals: \" + removals.join(', ') + \"\\n\";\n }\n\n _forEach(obj, fn:Function) {\n if (obj instanceof Map) {\n MapWrapper.forEach(obj, fn);\n } else {\n StringMapWrapper.forEach(obj, fn);\n }\n }\n}\n\n\n\nexport class KVChangeRecord {\n key;\n _previousValue;\n _currentValue;\n\n _nextPrevious:KVChangeRecord;\n _next:KVChangeRecord;\n _nextAdded:KVChangeRecord;\n _nextRemoved:KVChangeRecord;\n _prevRemoved:KVChangeRecord;\n _nextChanged:KVChangeRecord;\n\n constructor(key) {\n this.key = key;\n this._previousValue = null;\n this._currentValue = null;\n\n this._nextPrevious = null;\n this._next = null;\n this._nextAdded = null;\n this._nextRemoved = null;\n this._prevRemoved = null;\n this._nextChanged = null;\n }\n\n toString():string {\n return looseIdentical(this._previousValue, this._currentValue) ?\n stringify(this.key) :\n (stringify(this.key) + '[' + stringify(this._previousValue) + '->' +\n stringify(this._currentValue) + ']');\n }\n}\n","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","$traceurRuntime.superConstructor($__placeholder__0).call($__placeholder__1)","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});"]} \ No newline at end of file diff --git a/angular2/src/change_detection/pipes/null_pipe.js b/angular2/src/change_detection/pipes/null_pipe.js deleted file mode 100644 index 50cabb0..0000000 --- a/angular2/src/change_detection/pipes/null_pipe.js +++ /dev/null @@ -1,54 +0,0 @@ -System.register(["angular2/src/facade/lang", "./pipe"], function($__export) { - "use strict"; - var isBlank, - Pipe, - NO_CHANGE, - NullPipeFactory, - NullPipe; - return { - setters: [function($__m) { - isBlank = $__m.isBlank; - }, function($__m) { - Pipe = $__m.Pipe; - NO_CHANGE = $__m.NO_CHANGE; - }], - execute: function() { - NullPipeFactory = $__export("NullPipeFactory", (function() { - var NullPipeFactory = function NullPipeFactory() {}; - return ($traceurRuntime.createClass)(NullPipeFactory, { - supports: function(obj) { - return NullPipe.supportsObj(obj); - }, - create: function() { - return new NullPipe(); - } - }, {}); - }())); - NullPipe = $__export("NullPipe", (function($__super) { - var NullPipe = function NullPipe() { - $traceurRuntime.superConstructor(NullPipe).call(this); - this.called = false; - }; - return ($traceurRuntime.createClass)(NullPipe, { - supports: function(obj) { - return NullPipe.supportsObj(obj); - }, - transform: function(value) { - if (!this.called) { - this.called = true; - return null; - } else { - return NO_CHANGE; - } - } - }, {supportsObj: function(obj) { - return isBlank(obj); - }}, $__super); - }(Pipe))); - } - }; -}); - -//# sourceMappingURL=src/change_detection/pipes/null_pipe.map - -//# sourceMappingURL=../../../src/change_detection/pipes/null_pipe.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/pipes/null_pipe.js.map b/angular2/src/change_detection/pipes/null_pipe.js.map deleted file mode 100644 index f7101bf..0000000 --- a/angular2/src/change_detection/pipes/null_pipe.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/pipes/null_pipe.js","@traceur/generated/TemplateParser/12","@traceur/generated/TemplateParser/11"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,wCAAoB,UAAS,SAAQ;;;;;;;ACApD,OAAO;AACD,UAAM,GCDZ,SAAS,IAAG,CAAG;ACAf,cAAoB,KAAG,QAAkB,CAAC;IDElC,CAFR,UAAS,IAAG;ACAZ,WAAoB,KAAG,KAAkB,CAAC;AAA1C,gBAAoB,KAAG,UAAkB,CAAC;IDElC,CDDuB;AACzB,UAAM;sBGFY,CAAA,SAAQ,AAAC,qBCAjC,SAAQ,AAAC;AACC,AAAI,UAAA,kBCEP,SAAM,gBAAc,KDFuB,ACShD,CDTiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC;ACE5C,iBAAO,CAAP,UAAS,GAAE,CAAW;AACpB,iBAAO,CAAA,QAAO,YAAY,AAAE,CAAA,GAAE,CAAC,CAAC;UAClC;AAEA,eAAK,CAAL,UAAO,AAAO,CAAA;AACZ,iBAAO,IAAI,SAAO,AAAC,EAAC,CAAC;UACvB;AAAA,aDP8D,CAAC;MACzD,AAAC,EAAC,EDJ4D;eAA9C,CAAA,SAAQ,AAAC,cGAjC,SAAS,QAAO;AACN,AAAI,UAAA,WDYP,SAAM,SAAO,CAEN,AAAE,CAAA;AEfhB,AFgBI,wBEhBU,iBAAiB,AAAC,UAAkB,KAAK,MAAmB,CFgB/D;AACP,aAAG,OAAO,EAAI,MAAI,CAAC;QChB2B,ADiBhD,CCjBiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC;ADsB5C,iBAAO,CAAP,UAAS,GAAE,CAAG;AACZ,iBAAO,CAAA,QAAO,YAAa,AAAC,CAAA,GAAE,CAAC,CAAC;UAClC;AAEA,kBAAQ,CAAR,UAAU,KAAI,CAAG;AACf,eAAM,CAAA,IAAG,OAAO,CAAG;AACjB,iBAAG,OAAO,EAAI,KAAG,CAAC;AAClB,mBAAO,KAAG,CAAC;YACb,KAAO;AACL,mBAAO,UAAQ,CAAC;YAClB;AAAA,UACF;AAAA,WAfO,WAAU,CAAjB,UAAmB,GAAE,CAAW;AAC9B,iBAAO,CAAA,OAAM,AAAE,CAAA,GAAE,CAAC,CAAC;UACrB,ECnBgE,SAAO,CAAC,CAAC;MACnE,AAAC,CDSqB,IAAG,CCTN,EHJ2C;IHEvC;EAC3B,CAAA;ADDI,CAAC,CAAC;AMgCyB","file":"src/change_detection/pipes/null_pipe.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","import {isBlank} from 'angular2/src/facade/lang';\nimport {Pipe, NO_CHANGE} from './pipe';\n\nexport class NullPipeFactory {\n supports(obj):boolean {\n return NullPipe.supportsObj(obj);\n }\n\n create():Pipe {\n return new NullPipe();\n }\n}\n\nexport class NullPipe extends Pipe {\n called:boolean;\n constructor() {\n super();\n this.called = false;\n }\n\n static supportsObj(obj):boolean {\n return isBlank(obj);\n }\n\n supports(obj) {\n return NullPipe.supportsObj(obj);\n }\n\n transform(value) {\n if (! this.called) {\n this.called = true;\n return null;\n } else {\n return NO_CHANGE;\n }\n }\n}\n","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","$traceurRuntime.superConstructor($__placeholder__0).call($__placeholder__1)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/pipes/pipe.js b/angular2/src/change_detection/pipes/pipe.js deleted file mode 100644 index 6a22792..0000000 --- a/angular2/src/change_detection/pipes/pipe.js +++ /dev/null @@ -1,30 +0,0 @@ -System.register([], function($__export) { - "use strict"; - var NO_CHANGE, - Pipe; - return { - setters: [], - execute: function() { - NO_CHANGE = $__export("NO_CHANGE", new Object()); - Pipe = $__export("Pipe", (function() { - var Pipe = function Pipe() {}; - return ($traceurRuntime.createClass)(Pipe, { - supports: function(obj) { - return false; - }, - onDestroy: function() {}, - transform: function(value) { - return null; - } - }, {}); - }())); - Object.defineProperty(Pipe.prototype.transform, "parameters", {get: function() { - return [[assert.type.any]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/pipes/pipe.map - -//# sourceMappingURL=../../../src/change_detection/pipes/pipe.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/pipes/pipe.js.map b/angular2/src/change_detection/pipes/pipe.js.map deleted file mode 100644 index 5c9751a..0000000 --- a/angular2/src/change_detection/pipes/pipe.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/7","src/change_detection/pipes/pipe.js","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/pipes/@traceur/generated/TemplateParser/24","src/change_detection/pipes/@traceur/generated/TemplateParser/23"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,IAAoB,UAAS,SAAQ;;;;ACApD,OAAO;AACD,UAAM,IAAmB;AACzB,UAAM;gBCFZ,CAAA,SAAQ,AAAC,aCAc,IAAI,OAAM,EAAC,CDAY;WEAtB,CAAA,SAAQ,AAAC,UCAjC,SAAQ,AAAC;AACC,AAAI,UAAA,OFCP,SAAM,KAAG,KEDkC,AFKlD,CELmD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC;AFC5C,iBAAO,CAAP,UAAS,GAAE,CAAW;AAAC,iBAAO,MAAI,CAAC;UAAC;AACpC,kBAAQ,CAAR,UAAU,AAAE,CAAA,GAAC;AACb,kBAAQ,CAAR,UAAU,KAAI,CAAW;AAAC,iBAAO,KAAG,CAAC;UAAC;AAAA,aEFwB,CAAC;MACzD,AAAC,EAAC,EDJ4D;ADMtE,WGNK,eAAgB,CAAA,IAAA,UAAA,UAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,ECD1B,CAAA,MAAK,KAAK,IAAA,CAAA,CAAA,CDCuC;QAAC,CAAC,CAAC,CAAC;ILCtB;EAC3B,CAAA;ADDI,CAAC,CAAC;AGcoB","file":"src/change_detection/pipes/pipe.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","$__export($__placeholder__0, $__placeholder__1)","export var NO_CHANGE = new Object();\n\nexport class Pipe {\n supports(obj):boolean {return false;}\n onDestroy() {}\n transform(value:any):any {return null;}\n}","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/pipes/pipe_registry.js b/angular2/src/change_detection/pipes/pipe_registry.js deleted file mode 100644 index 5cc4682..0000000 --- a/angular2/src/change_detection/pipes/pipe_registry.js +++ /dev/null @@ -1,51 +0,0 @@ -System.register(["angular2/src/facade/collection", "angular2/src/facade/lang", "./pipe"], function($__export) { - "use strict"; - var List, - ListWrapper, - isBlank, - isPresent, - BaseException, - CONST, - Pipe, - PipeRegistry; - return { - setters: [function($__m) { - List = $__m.List; - ListWrapper = $__m.ListWrapper; - }, function($__m) { - isBlank = $__m.isBlank; - isPresent = $__m.isPresent; - BaseException = $__m.BaseException; - CONST = $__m.CONST; - }, function($__m) { - Pipe = $__m.Pipe; - }], - execute: function() { - PipeRegistry = $__export("PipeRegistry", (function() { - var PipeRegistry = function PipeRegistry(config) { - this.config = config; - }; - return ($traceurRuntime.createClass)(PipeRegistry, {get: function(type, obj) { - var listOfConfigs = this.config[type]; - if (isBlank(listOfConfigs)) { - throw new BaseException(("Cannot find a pipe for type '" + type + "' object '" + obj + "'")); - } - var matchingConfig = ListWrapper.find(listOfConfigs, (function(pipeConfig) { - return pipeConfig.supports(obj); - })); - if (isBlank(matchingConfig)) { - throw new BaseException(("Cannot find a pipe for type '" + type + "' object '" + obj + "'")); - } - return matchingConfig.create(); - }}, {}); - }())); - Object.defineProperty(PipeRegistry.prototype.get, "parameters", {get: function() { - return [[assert.type.string], []]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/pipes/pipe_registry.map - -//# sourceMappingURL=../../../src/change_detection/pipes/pipe_registry.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/pipes/pipe_registry.js.map b/angular2/src/change_detection/pipes/pipe_registry.js.map deleted file mode 100644 index a068c79..0000000 --- a/angular2/src/change_detection/pipes/pipe_registry.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/pipes/pipe_registry.js","src/change_detection/pipes/@traceur/generated/TemplateParser/24","src/change_detection/pipes/@traceur/generated/TemplateParser/23"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,0EAAoB,UAAS,SAAQ;;;;;;;;;;ACApD,OAAO;AACD,UAAM,GCDZ,SAAS,IAAG;ACAZ,WAAoB,KAAG,KAAkB,CAAC;AAA1C,kBAAoB,KAAG,YAAkB,CAAC;IDElC,CAFR,UAAS,IAAG;ACAZ,cAAoB,KAAG,QAAkB,CAAC;AAA1C,gBAAoB,KAAG,UAAkB,CAAC;AAA1C,oBAAoB,KAAG,cAAkB,CAAC;AAA1C,YAAoB,KAAG,MAAkB,CAAC;IDElC,CAFR,UAAS,IAAG,CAAG;ACAf,WAAoB,KAAG,KAAkB,CAAC;IDElC,CDDuB;AACzB,UAAM;mBGFY,CAAA,SAAQ,AAAC,kBCAjC,SAAQ,AAAC;AACC,AAAI,UAAA,eCGP,SAAM,aAAW,CAGV,MAAK,CAAE;AACjB,aAAG,OAAO,EAAI,OAAK,CAAC;QDP0B,ACQhD,CDRiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC,gBCS5C,GAAE,CAAF,UAAI,IAAU,CAAG,CAAA,GAAE;AACb,cAAA,CAAA,aAAY,EAAI,CAAA,IAAG,OAAO,CAAE,IAAG,CAAC,CAAC;AACrC,eAAI,OAAM,AAAE,CAAA,aAAY,CAAC,CAAG;AAC1B,kBAAM,IAAI,cAAa,AAAC,EAAA,+BAAgC,EAAA,KAAG,EAAA,aAAc,EAAA,IAAE,EAAA,IAAG,EAAC,CAAC;YAClF;AAAA,AAEI,cAAA,CAAA,cAAa,EAAI,CAAA,WAAU,KAAM,AAAC,CAAA,aAAY,GAC/C,SAAA,UAAS;mBAAM,CAAA,UAAS,SAAS,AAAE,CAAA,GAAE,CAAC;YAAA,EAAC,CAAC;AAE3C,eAAI,OAAO,AAAC,CAAA,cAAa,CAAC,CAAG;AAC3B,kBAAM,IAAI,cAAa,AAAC,EAAA,+BAAgC,EAAA,KAAG,EAAA,aAAc,EAAA,IAAE,EAAA,IAAG,EAAC,CAAC;YAClF;AAAA,AAEA,iBAAO,CAAA,cAAa,OAAQ,EAAC,CAAC;UAChC,MDtB8D,CAAC;MACzD,AAAC,EAAC,EDJ4D;AGAtE,WAAK,eAAe,AAAC,CAAA,YAAA,UAAA,IAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ECD1B,CAAA,MAAK,KAAK,OAAA,CAAA,CAAA,GAAA,CAAA,CDCuC;QAAC,CAAC,CAAC,CAAC;INCtB;EAC3B,CAAA;ADDI,CAAC,CAAC;AM2B6B","file":"src/change_detection/pipes/pipe_registry.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","import {List, ListWrapper} from 'angular2/src/facade/collection';\nimport {isBlank, isPresent, BaseException, CONST} from 'angular2/src/facade/lang';\nimport {Pipe} from './pipe';\n\nexport class PipeRegistry {\n config;\n\n constructor(config){\n this.config = config;\n }\n\n get(type:string, obj):Pipe {\n var listOfConfigs = this.config[type];\n if (isBlank(listOfConfigs)) {\n throw new BaseException(`Cannot find a pipe for type '${type}' object '${obj}'`);\n }\n\n var matchingConfig = ListWrapper.find(listOfConfigs,\n (pipeConfig) => pipeConfig.supports(obj));\n\n if (isBlank(matchingConfig)) {\n throw new BaseException(`Cannot find a pipe for type '${type}' object '${obj}'`);\n }\n\n return matchingConfig.create();\n }\n}","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/change_detection/proto_change_detector.js b/angular2/src/change_detection/proto_change_detector.js deleted file mode 100644 index b7a303d..0000000 --- a/angular2/src/change_detection/proto_change_detector.js +++ /dev/null @@ -1,542 +0,0 @@ -System.register(["angular2/src/facade/lang", "angular2/src/facade/collection", "./parser/ast", "./interfaces", "./change_detection_util", "./dynamic_change_detector", "./change_detection_jit_generator", "./pipes/pipe_registry", "./coalesce", "./proto_record"], function($__export) { - "use strict"; - var isPresent, - isBlank, - BaseException, - Type, - isString, - List, - ListWrapper, - MapWrapper, - StringMapWrapper, - AccessMember, - Assignment, - AST, - ASTWithSource, - AstVisitor, - Binary, - Chain, - Conditional, - Pipe, - FunctionCall, - ImplicitReceiver, - Interpolation, - KeyedAccess, - LiteralArray, - LiteralMap, - LiteralPrimitive, - MethodCall, - PrefixNot, - ChangeRecord, - ChangeDispatcher, - ChangeDetector, - ChangeDetectionUtil, - DynamicChangeDetector, - ChangeDetectorJITGenerator, - PipeRegistry, - coalesce, - ProtoRecord, - RECORD_TYPE_SELF, - RECORD_TYPE_PROPERTY, - RECORD_TYPE_LOCAL, - RECORD_TYPE_INVOKE_METHOD, - RECORD_TYPE_CONST, - RECORD_TYPE_INVOKE_CLOSURE, - RECORD_TYPE_PRIMITIVE_OP, - RECORD_TYPE_KEYED_ACCESS, - RECORD_TYPE_PIPE, - RECORD_TYPE_INTERPOLATE, - ProtoChangeDetector, - BindingRecord, - DynamicProtoChangeDetector, - _jitProtoChangeDetectorClassCounter, - JitProtoChangeDetector, - ProtoRecordBuilder, - _ConvertAstIntoProtoRecords; - function _arrayFn(length) { - switch (length) { - case 0: - return ChangeDetectionUtil.arrayFn0; - case 1: - return ChangeDetectionUtil.arrayFn1; - case 2: - return ChangeDetectionUtil.arrayFn2; - case 3: - return ChangeDetectionUtil.arrayFn3; - case 4: - return ChangeDetectionUtil.arrayFn4; - case 5: - return ChangeDetectionUtil.arrayFn5; - case 6: - return ChangeDetectionUtil.arrayFn6; - case 7: - return ChangeDetectionUtil.arrayFn7; - case 8: - return ChangeDetectionUtil.arrayFn8; - case 9: - return ChangeDetectionUtil.arrayFn9; - default: - throw new BaseException("Does not support literal maps with more than 9 elements"); - } - } - function _mapPrimitiveName(keys) { - var stringifiedKeys = ListWrapper.join(ListWrapper.map(keys, (function(k) { - return isString(k) ? ("\"" + k + "\"") : ("" + k); - })), ", "); - return ("mapFn([" + stringifiedKeys + "])"); - } - function _operationToPrimitiveName(operation) { - switch (operation) { - case '+': - return "operation_add"; - case '-': - return "operation_subtract"; - case '*': - return "operation_multiply"; - case '/': - return "operation_divide"; - case '%': - return "operation_remainder"; - case '==': - return "operation_equals"; - case '!=': - return "operation_not_equals"; - case '<': - return "operation_less_then"; - case '>': - return "operation_greater_then"; - case '<=': - return "operation_less_or_equals_then"; - case '>=': - return "operation_greater_or_equals_then"; - case '&&': - return "operation_logical_and"; - case '||': - return "operation_logical_or"; - default: - throw new BaseException(("Unsupported operation " + operation)); - } - } - function _operationToFunction(operation) { - switch (operation) { - case '+': - return ChangeDetectionUtil.operation_add; - case '-': - return ChangeDetectionUtil.operation_subtract; - case '*': - return ChangeDetectionUtil.operation_multiply; - case '/': - return ChangeDetectionUtil.operation_divide; - case '%': - return ChangeDetectionUtil.operation_remainder; - case '==': - return ChangeDetectionUtil.operation_equals; - case '!=': - return ChangeDetectionUtil.operation_not_equals; - case '<': - return ChangeDetectionUtil.operation_less_then; - case '>': - return ChangeDetectionUtil.operation_greater_then; - case '<=': - return ChangeDetectionUtil.operation_less_or_equals_then; - case '>=': - return ChangeDetectionUtil.operation_greater_or_equals_then; - case '&&': - return ChangeDetectionUtil.operation_logical_and; - case '||': - return ChangeDetectionUtil.operation_logical_or; - default: - throw new BaseException(("Unsupported operation " + operation)); - } - } - function s(v) { - return isPresent(v) ? ("" + v) : ''; - } - function _interpolationFn(strings) { - var length = strings.length; - var c0 = length > 0 ? strings[0] : null; - var c1 = length > 1 ? strings[1] : null; - var c2 = length > 2 ? strings[2] : null; - var c3 = length > 3 ? strings[3] : null; - var c4 = length > 4 ? strings[4] : null; - var c5 = length > 5 ? strings[5] : null; - var c6 = length > 6 ? strings[6] : null; - var c7 = length > 7 ? strings[7] : null; - var c8 = length > 8 ? strings[8] : null; - var c9 = length > 9 ? strings[9] : null; - switch (length - 1) { - case 1: - return (function(a1) { - return c0 + s(a1) + c1; - }); - case 2: - return (function(a1, a2) { - return c0 + s(a1) + c1 + s(a2) + c2; - }); - case 3: - return (function(a1, a2, a3) { - return c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3; - }); - case 4: - return (function(a1, a2, a3, a4) { - return c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4; - }); - case 5: - return (function(a1, a2, a3, a4, a5) { - return c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4 + s(a5) + c5; - }); - case 6: - return (function(a1, a2, a3, a4, a5, a6) { - return c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4 + s(a5) + c5 + s(a6) + c6; - }); - case 7: - return (function(a1, a2, a3, a4, a5, a6, a7) { - return c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4 + s(a5) + c5 + s(a6) + c6 + s(a7) + c7; - }); - case 8: - return (function(a1, a2, a3, a4, a5, a6, a7, a8) { - return c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4 + s(a5) + c5 + s(a6) + c6 + s(a7) + c7 + s(a8) + c8; - }); - case 9: - return (function(a1, a2, a3, a4, a5, a6, a7, a8, a9) { - return c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4 + s(a5) + c5 + s(a6) + c6 + s(a7) + c7 + s(a8) + c8 + s(a9) + c9; - }); - default: - throw new BaseException("Does not support more than 9 expressions"); - } - } - return { - setters: [function($__m) { - isPresent = $__m.isPresent; - isBlank = $__m.isBlank; - BaseException = $__m.BaseException; - Type = $__m.Type; - isString = $__m.isString; - }, function($__m) { - List = $__m.List; - ListWrapper = $__m.ListWrapper; - MapWrapper = $__m.MapWrapper; - StringMapWrapper = $__m.StringMapWrapper; - }, function($__m) { - AccessMember = $__m.AccessMember; - Assignment = $__m.Assignment; - AST = $__m.AST; - ASTWithSource = $__m.ASTWithSource; - AstVisitor = $__m.AstVisitor; - Binary = $__m.Binary; - Chain = $__m.Chain; - Conditional = $__m.Conditional; - Pipe = $__m.Pipe; - FunctionCall = $__m.FunctionCall; - ImplicitReceiver = $__m.ImplicitReceiver; - Interpolation = $__m.Interpolation; - KeyedAccess = $__m.KeyedAccess; - LiteralArray = $__m.LiteralArray; - LiteralMap = $__m.LiteralMap; - LiteralPrimitive = $__m.LiteralPrimitive; - MethodCall = $__m.MethodCall; - PrefixNot = $__m.PrefixNot; - }, function($__m) { - ChangeRecord = $__m.ChangeRecord; - ChangeDispatcher = $__m.ChangeDispatcher; - ChangeDetector = $__m.ChangeDetector; - }, function($__m) { - ChangeDetectionUtil = $__m.ChangeDetectionUtil; - }, function($__m) { - DynamicChangeDetector = $__m.DynamicChangeDetector; - }, function($__m) { - ChangeDetectorJITGenerator = $__m.ChangeDetectorJITGenerator; - }, function($__m) { - PipeRegistry = $__m.PipeRegistry; - }, function($__m) { - coalesce = $__m.coalesce; - }, function($__m) { - ProtoRecord = $__m.ProtoRecord; - RECORD_TYPE_SELF = $__m.RECORD_TYPE_SELF; - RECORD_TYPE_PROPERTY = $__m.RECORD_TYPE_PROPERTY; - RECORD_TYPE_LOCAL = $__m.RECORD_TYPE_LOCAL; - RECORD_TYPE_INVOKE_METHOD = $__m.RECORD_TYPE_INVOKE_METHOD; - RECORD_TYPE_CONST = $__m.RECORD_TYPE_CONST; - RECORD_TYPE_INVOKE_CLOSURE = $__m.RECORD_TYPE_INVOKE_CLOSURE; - RECORD_TYPE_PRIMITIVE_OP = $__m.RECORD_TYPE_PRIMITIVE_OP; - RECORD_TYPE_KEYED_ACCESS = $__m.RECORD_TYPE_KEYED_ACCESS; - RECORD_TYPE_PIPE = $__m.RECORD_TYPE_PIPE; - RECORD_TYPE_INTERPOLATE = $__m.RECORD_TYPE_INTERPOLATE; - }], - execute: function() { - ProtoChangeDetector = $__export("ProtoChangeDetector", (function() { - var ProtoChangeDetector = function ProtoChangeDetector() {}; - return ($traceurRuntime.createClass)(ProtoChangeDetector, { - addAst: function(ast, bindingMemento) { - var directiveMemento = arguments[2] !== (void 0) ? arguments[2] : null; - }, - instantiate: function(dispatcher, bindingRecords, variableBindings) { - return null; - } - }, {}); - }())); - Object.defineProperty(ProtoChangeDetector.prototype.addAst, "parameters", {get: function() { - return [[AST], [assert.type.any], [assert.type.any]]; - }}); - Object.defineProperty(ProtoChangeDetector.prototype.instantiate, "parameters", {get: function() { - return [[assert.type.any], [List], [List]]; - }}); - BindingRecord = $__export("BindingRecord", (function() { - var BindingRecord = function BindingRecord(ast, bindingMemento, directiveMemento) { - this.ast = ast; - this.bindingMemento = bindingMemento; - this.directiveMemento = directiveMemento; - }; - return ($traceurRuntime.createClass)(BindingRecord, {}, {}); - }())); - Object.defineProperty(BindingRecord, "parameters", {get: function() { - return [[AST], [assert.type.any], [assert.type.any]]; - }}); - DynamicProtoChangeDetector = $__export("DynamicProtoChangeDetector", (function($__super) { - var DynamicProtoChangeDetector = function DynamicProtoChangeDetector(pipeRegistry) { - $traceurRuntime.superConstructor(DynamicProtoChangeDetector).call(this); - this._pipeRegistry = pipeRegistry; - }; - return ($traceurRuntime.createClass)(DynamicProtoChangeDetector, { - instantiate: function(dispatcher, bindingRecords, variableBindings) { - this._createRecordsIfNecessary(bindingRecords, variableBindings); - return new DynamicChangeDetector(dispatcher, this._pipeRegistry, this._records); - }, - _createRecordsIfNecessary: function(bindingRecords, variableBindings) { - if (isBlank(this._records)) { - var recordBuilder = new ProtoRecordBuilder(); - ListWrapper.forEach(bindingRecords, (function(r) { - recordBuilder.addAst(r.ast, r.bindingMemento, r.directiveMemento, variableBindings); - })); - this._records = coalesce(recordBuilder.records); - } - } - }, {}, $__super); - }(ProtoChangeDetector))); - Object.defineProperty(DynamicProtoChangeDetector, "parameters", {get: function() { - return [[PipeRegistry]]; - }}); - Object.defineProperty(DynamicProtoChangeDetector.prototype.instantiate, "parameters", {get: function() { - return [[assert.type.any], [List], [List]]; - }}); - Object.defineProperty(DynamicProtoChangeDetector.prototype._createRecordsIfNecessary, "parameters", {get: function() { - return [[List], [List]]; - }}); - _jitProtoChangeDetectorClassCounter = 0; - JitProtoChangeDetector = $__export("JitProtoChangeDetector", (function($__super) { - var JitProtoChangeDetector = function JitProtoChangeDetector(pipeRegistry) { - $traceurRuntime.superConstructor(JitProtoChangeDetector).call(this); - this._pipeRegistry = pipeRegistry; - this._factory = null; - }; - return ($traceurRuntime.createClass)(JitProtoChangeDetector, { - instantiate: function(dispatcher, bindingRecords, variableBindings) { - this._createFactoryIfNecessary(bindingRecords, variableBindings); - return this._factory(dispatcher, this._pipeRegistry); - }, - _createFactoryIfNecessary: function(bindingRecords, variableBindings) { - if (isBlank(this._factory)) { - var recordBuilder = new ProtoRecordBuilder(); - ListWrapper.forEach(bindingRecords, (function(r) { - recordBuilder.addAst(r.ast, r.bindingMemento, r.directiveMemento, variableBindings); - })); - var c = _jitProtoChangeDetectorClassCounter++; - var records = coalesce(recordBuilder.records); - var typeName = ("ChangeDetector" + c); - this._factory = new ChangeDetectorJITGenerator(typeName, records).generate(); - } - } - }, {}, $__super); - }(ProtoChangeDetector))); - Object.defineProperty(JitProtoChangeDetector.prototype.instantiate, "parameters", {get: function() { - return [[assert.type.any], [List], [List]]; - }}); - Object.defineProperty(JitProtoChangeDetector.prototype._createFactoryIfNecessary, "parameters", {get: function() { - return [[List], [List]]; - }}); - ProtoRecordBuilder = (function() { - var ProtoRecordBuilder = function ProtoRecordBuilder() { - this.records = []; - }; - return ($traceurRuntime.createClass)(ProtoRecordBuilder, {addAst: function(ast, bindingMemento) { - var directiveMemento = arguments[2] !== (void 0) ? arguments[2] : null; - var variableBindings = arguments[3] !== (void 0) ? arguments[3] : null; - var last = ListWrapper.last(this.records); - if (isPresent(last) && last.directiveMemento == directiveMemento) { - last.lastInDirective = false; - } - var pr = _ConvertAstIntoProtoRecords.convert(ast, bindingMemento, directiveMemento, this.records.length, variableBindings); - if (!ListWrapper.isEmpty(pr)) { - var last = ListWrapper.last(pr); - last.lastInBinding = true; - last.lastInDirective = true; - this.records = ListWrapper.concat(this.records, pr); - } - }}, {}); - }()); - Object.defineProperty(ProtoRecordBuilder.prototype.addAst, "parameters", {get: function() { - return [[AST], [assert.type.any], [assert.type.any], [List]]; - }}); - _ConvertAstIntoProtoRecords = (function() { - var _ConvertAstIntoProtoRecords = function _ConvertAstIntoProtoRecords(bindingMemento, directiveMemento, contextIndex, expressionAsString, variableBindings) { - this.protoRecords = []; - this.bindingMemento = bindingMemento; - this.directiveMemento = directiveMemento; - this.contextIndex = contextIndex; - this.expressionAsString = expressionAsString; - this.variableBindings = variableBindings; - }; - return ($traceurRuntime.createClass)(_ConvertAstIntoProtoRecords, { - visitImplicitReceiver: function(ast) { - return 0; - }, - visitInterpolation: function(ast) { - var args = this._visitAll(ast.expressions); - return this._addRecord(RECORD_TYPE_INTERPOLATE, "interpolate", _interpolationFn(ast.strings), args, ast.strings, 0); - }, - visitLiteralPrimitive: function(ast) { - return this._addRecord(RECORD_TYPE_CONST, "literal", ast.value, [], null, 0); - }, - visitAccessMember: function(ast) { - var receiver = ast.receiver.visit(this); - if (isPresent(this.variableBindings) && ListWrapper.contains(this.variableBindings, ast.name)) { - return this._addRecord(RECORD_TYPE_LOCAL, ast.name, ast.name, [], null, receiver); - } else { - return this._addRecord(RECORD_TYPE_PROPERTY, ast.name, ast.getter, [], null, receiver); - } - }, - visitMethodCall: function(ast) { - ; - var receiver = ast.receiver.visit(this); - var args = this._visitAll(ast.args); - if (isPresent(this.variableBindings) && ListWrapper.contains(this.variableBindings, ast.name)) { - var target = this._addRecord(RECORD_TYPE_LOCAL, ast.name, ast.name, [], null, receiver); - return this._addRecord(RECORD_TYPE_INVOKE_CLOSURE, "closure", null, args, null, target); - } else { - return this._addRecord(RECORD_TYPE_INVOKE_METHOD, ast.name, ast.fn, args, null, receiver); - } - }, - visitFunctionCall: function(ast) { - var target = ast.target.visit(this); - var args = this._visitAll(ast.args); - return this._addRecord(RECORD_TYPE_INVOKE_CLOSURE, "closure", null, args, null, target); - }, - visitLiteralArray: function(ast) { - var primitiveName = ("arrayFn" + ast.expressions.length); - return this._addRecord(RECORD_TYPE_PRIMITIVE_OP, primitiveName, _arrayFn(ast.expressions.length), this._visitAll(ast.expressions), null, 0); - }, - visitLiteralMap: function(ast) { - return this._addRecord(RECORD_TYPE_PRIMITIVE_OP, _mapPrimitiveName(ast.keys), ChangeDetectionUtil.mapFn(ast.keys), this._visitAll(ast.values), null, 0); - }, - visitBinary: function(ast) { - var left = ast.left.visit(this); - var right = ast.right.visit(this); - return this._addRecord(RECORD_TYPE_PRIMITIVE_OP, _operationToPrimitiveName(ast.operation), _operationToFunction(ast.operation), [left, right], null, 0); - }, - visitPrefixNot: function(ast) { - var exp = ast.expression.visit(this); - return this._addRecord(RECORD_TYPE_PRIMITIVE_OP, "operation_negate", ChangeDetectionUtil.operation_negate, [exp], null, 0); - }, - visitConditional: function(ast) { - var c = ast.condition.visit(this); - var t = ast.trueExp.visit(this); - var f = ast.falseExp.visit(this); - return this._addRecord(RECORD_TYPE_PRIMITIVE_OP, "cond", ChangeDetectionUtil.cond, [c, t, f], null, 0); - }, - visitPipe: function(ast) { - var value = ast.exp.visit(this); - return this._addRecord(RECORD_TYPE_PIPE, ast.name, ast.name, [], null, value); - }, - visitKeyedAccess: function(ast) { - var obj = ast.obj.visit(this); - var key = ast.key.visit(this); - return this._addRecord(RECORD_TYPE_KEYED_ACCESS, "keyedAccess", ChangeDetectionUtil.keyedAccess, [key], null, obj); - }, - _visitAll: function(asts) { - var res = ListWrapper.createFixedSize(asts.length); - for (var i = 0; i < asts.length; ++i) { - res[i] = asts[i].visit(this); - } - return res; - }, - _addRecord: function(type, name, funcOrValue, args, fixedArgs, context) { - var selfIndex = ++this.contextIndex; - ListWrapper.push(this.protoRecords, new ProtoRecord(type, name, funcOrValue, args, fixedArgs, context, selfIndex, this.bindingMemento, this.directiveMemento, this.expressionAsString, false, false)); - return selfIndex; - } - }, {convert: function(ast, bindingMemento, directiveMemento, contextIndex, variableBindings) { - var c = new _ConvertAstIntoProtoRecords(bindingMemento, directiveMemento, contextIndex, ast.toString(), variableBindings); - ast.visit(c); - return c.protoRecords; - }}); - }()); - Object.defineProperty(_ConvertAstIntoProtoRecords, "parameters", {get: function() { - return [[assert.type.any], [assert.type.any], [assert.type.number], [assert.type.string], [List]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.convert, "parameters", {get: function() { - return [[AST], [assert.type.any], [assert.type.any], [assert.type.number], [List]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitImplicitReceiver, "parameters", {get: function() { - return [[ImplicitReceiver]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitInterpolation, "parameters", {get: function() { - return [[Interpolation]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitLiteralPrimitive, "parameters", {get: function() { - return [[LiteralPrimitive]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitAccessMember, "parameters", {get: function() { - return [[AccessMember]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitMethodCall, "parameters", {get: function() { - return [[MethodCall]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitFunctionCall, "parameters", {get: function() { - return [[FunctionCall]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitLiteralArray, "parameters", {get: function() { - return [[LiteralArray]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitLiteralMap, "parameters", {get: function() { - return [[LiteralMap]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitBinary, "parameters", {get: function() { - return [[Binary]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitPrefixNot, "parameters", {get: function() { - return [[PrefixNot]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitConditional, "parameters", {get: function() { - return [[Conditional]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitPipe, "parameters", {get: function() { - return [[Pipe]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype.visitKeyedAccess, "parameters", {get: function() { - return [[KeyedAccess]]; - }}); - Object.defineProperty(_ConvertAstIntoProtoRecords.prototype._visitAll, "parameters", {get: function() { - return [[List]]; - }}); - Object.defineProperty(_arrayFn, "parameters", {get: function() { - return [[assert.type.number]]; - }}); - Object.defineProperty(_mapPrimitiveName, "parameters", {get: function() { - return [[List]]; - }}); - Object.defineProperty(_operationToPrimitiveName, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - Object.defineProperty(_operationToFunction, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - Object.defineProperty(_interpolationFn, "parameters", {get: function() { - return [[List]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/proto_change_detector.map - -//# sourceMappingURL=../../src/change_detection/proto_change_detector.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/proto_change_detector.js.map b/angular2/src/change_detection/proto_change_detector.js.map deleted file mode 100644 index 67a6e0b..0000000 --- a/angular2/src/change_detection/proto_change_detector.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","src/change_detection/proto_change_detector.js","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/@traceur/generated/TemplateParser/24","src/change_detection/@traceur/generated/TemplateParser/23","@traceur/generated/TemplateParser/12","@traceur/generated/TemplateParser/11","@traceur/generated/TemplateParser/14"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,qPAAoB,UAAS,SAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC6QpD,SAAS,SAAO,CAAE,MAAY,CAAY;AACxC,WAAQ,MAAK;AACX,SAAK,EAAA;AAAG,aAAO,CAAA,mBAAkB,SAAS,CAAC;AAAA,AAC3C,SAAK,EAAA;AAAG,aAAO,CAAA,mBAAkB,SAAS,CAAC;AAAA,AAC3C,SAAK,EAAA;AAAG,aAAO,CAAA,mBAAkB,SAAS,CAAC;AAAA,AAC3C,SAAK,EAAA;AAAG,aAAO,CAAA,mBAAkB,SAAS,CAAC;AAAA,AAC3C,SAAK,EAAA;AAAG,aAAO,CAAA,mBAAkB,SAAS,CAAC;AAAA,AAC3C,SAAK,EAAA;AAAG,aAAO,CAAA,mBAAkB,SAAS,CAAC;AAAA,AAC3C,SAAK,EAAA;AAAG,aAAO,CAAA,mBAAkB,SAAS,CAAC;AAAA,AAC3C,SAAK,EAAA;AAAG,aAAO,CAAA,mBAAkB,SAAS,CAAC;AAAA,AAC3C,SAAK,EAAA;AAAG,aAAO,CAAA,mBAAkB,SAAS,CAAC;AAAA,AAC3C,SAAK,EAAA;AAAG,aAAO,CAAA,mBAAkB,SAAS,CAAC;AAAA,AAC3C;AAAS,YAAM,IAAI,cAAa,AAAC,CAAA,yDAAwD,CAAC,CAAC;AAA3F,IACF;EACF;AAAA,AAEA,SAAS,kBAAgB,CAAE,IAAG;AACxB,MAAA,CAAA,eAAc,EAAI,CAAA,WAAU,KAAM,AACpC,CAAA,WAAU,IAAI,AAAE,CAAA,IAAG,GAAI,SAAA,CAAA;WAAM,CAAA,QAAQ,AAAC,CAAA,CAAA,CAAC,CAAA,GAAI,IAAI,EAAA,EAAA,EAAA,KAAA,KAAO,EAAG,EAAA,EAAA,CAAE;IAAA,EAAC,CAC5D,KAAG,CAAC,CAAC;AACP,WAAO,SAAU,EAAA,gBAAc,EAAA,KAAI,EAAC;EACtC;AAEA,SAAS,0BAAwB,CAAE,SAAe,CAAU;AAC1D,WAAO,SAAQ;AACb,SAAK,IAAE;AAAK,aAAO,gBAAc,CAAC;AAAA,AAClC,SAAK,IAAE;AAAK,aAAO,qBAAmB,CAAC;AAAA,AACvC,SAAK,IAAE;AAAK,aAAO,qBAAmB,CAAC;AAAA,AACvC,SAAK,IAAE;AAAK,aAAO,mBAAiB,CAAC;AAAA,AACrC,SAAK,IAAE;AAAK,aAAO,sBAAoB,CAAC;AAAA,AACxC,SAAK,KAAG;AAAI,aAAO,mBAAiB,CAAC;AAAA,AACrC,SAAK,KAAG;AAAI,aAAO,uBAAqB,CAAC;AAAA,AACzC,SAAK,IAAE;AAAK,aAAO,sBAAoB,CAAC;AAAA,AACxC,SAAK,IAAE;AAAK,aAAO,yBAAuB,CAAC;AAAA,AAC3C,SAAK,KAAG;AAAI,aAAO,gCAA8B,CAAC;AAAA,AAClD,SAAK,KAAG;AAAI,aAAO,mCAAiC,CAAC;AAAA,AACrD,SAAK,KAAG;AAAI,aAAO,wBAAsB,CAAC;AAAA,AAC1C,SAAK,KAAG;AAAI,aAAO,uBAAqB,CAAC;AAAA,AACzC;AAAS,YAAM,IAAI,cAAY,AAAE,EAAA,wBAAyB,EAAA,UAAQ,EAAG,CAAC;AAAtE,IACF;EACF;AAAA,AAEA,SAAS,qBAAmB,CAAE,SAAQ,CAAmB;AACvD,WAAO,SAAQ;AACb,SAAK,IAAE;AAAK,aAAO,CAAA,mBAAkB,cAAc,CAAC;AAAA,AACpD,SAAK,IAAE;AAAK,aAAO,CAAA,mBAAkB,mBAAmB,CAAC;AAAA,AACzD,SAAK,IAAE;AAAK,aAAO,CAAA,mBAAkB,mBAAmB,CAAC;AAAA,AACzD,SAAK,IAAE;AAAK,aAAO,CAAA,mBAAkB,iBAAiB,CAAC;AAAA,AACvD,SAAK,IAAE;AAAK,aAAO,CAAA,mBAAkB,oBAAoB,CAAC;AAAA,AAC1D,SAAK,KAAG;AAAI,aAAO,CAAA,mBAAkB,iBAAiB,CAAC;AAAA,AACvD,SAAK,KAAG;AAAI,aAAO,CAAA,mBAAkB,qBAAqB,CAAC;AAAA,AAC3D,SAAK,IAAE;AAAK,aAAO,CAAA,mBAAkB,oBAAoB,CAAC;AAAA,AAC1D,SAAK,IAAE;AAAK,aAAO,CAAA,mBAAkB,uBAAuB,CAAC;AAAA,AAC7D,SAAK,KAAG;AAAI,aAAO,CAAA,mBAAkB,8BAA8B,CAAC;AAAA,AACpE,SAAK,KAAG;AAAI,aAAO,CAAA,mBAAkB,iCAAiC,CAAC;AAAA,AACvE,SAAK,KAAG;AAAI,aAAO,CAAA,mBAAkB,sBAAsB,CAAC;AAAA,AAC5D,SAAK,KAAG;AAAI,aAAO,CAAA,mBAAkB,qBAAqB,CAAC;AAAA,AAC3D;AAAS,YAAM,IAAI,cAAY,AAAE,EAAA,wBAAyB,EAAA,UAAQ,EAAG,CAAC;AAAtE,IACF;EACF;AAAA,AAEA,SAAS,EAAA,CAAE,CAAA,CAAG;AACZ,SAAO,CAAA,SAAQ,AAAE,CAAA,CAAA,CAAC,CAAA,GAAI,EAAG,EAAA,EAAA,GAAM,GAAC,CAAC;EACnC;AAAA,AAEA,SAAS,iBAAe,CAAE,OAAM;AAC1B,MAAA,CAAA,MAAK,EAAI,CAAA,OAAM,OAAO,CAAC;AACvB,MAAA,CAAA,EAAC,EAAI,CAAA,MAAK,EAAI,EAAA,CAAA,CAAI,CAAA,OAAM,CAAE,CAAA,CAAC,EAAI,KAAG,CAAC;AACnC,MAAA,CAAA,EAAC,EAAI,CAAA,MAAK,EAAI,EAAA,CAAA,CAAI,CAAA,OAAM,CAAE,CAAA,CAAC,EAAI,KAAG,CAAC;AACnC,MAAA,CAAA,EAAC,EAAI,CAAA,MAAK,EAAI,EAAA,CAAA,CAAI,CAAA,OAAM,CAAE,CAAA,CAAC,EAAI,KAAG,CAAC;AACnC,MAAA,CAAA,EAAC,EAAI,CAAA,MAAK,EAAI,EAAA,CAAA,CAAI,CAAA,OAAM,CAAE,CAAA,CAAC,EAAI,KAAG,CAAC;AACnC,MAAA,CAAA,EAAC,EAAI,CAAA,MAAK,EAAI,EAAA,CAAA,CAAI,CAAA,OAAM,CAAE,CAAA,CAAC,EAAI,KAAG,CAAC;AACnC,MAAA,CAAA,EAAC,EAAI,CAAA,MAAK,EAAI,EAAA,CAAA,CAAI,CAAA,OAAM,CAAE,CAAA,CAAC,EAAI,KAAG,CAAC;AACnC,MAAA,CAAA,EAAC,EAAI,CAAA,MAAK,EAAI,EAAA,CAAA,CAAI,CAAA,OAAM,CAAE,CAAA,CAAC,EAAI,KAAG,CAAC;AACnC,MAAA,CAAA,EAAC,EAAI,CAAA,MAAK,EAAI,EAAA,CAAA,CAAI,CAAA,OAAM,CAAE,CAAA,CAAC,EAAI,KAAG,CAAC;AACnC,MAAA,CAAA,EAAC,EAAI,CAAA,MAAK,EAAI,EAAA,CAAA,CAAI,CAAA,OAAM,CAAE,CAAA,CAAC,EAAI,KAAG,CAAC;AACnC,MAAA,CAAA,EAAC,EAAI,CAAA,MAAK,EAAI,EAAA,CAAA,CAAI,CAAA,OAAM,CAAE,CAAA,CAAC,EAAI,KAAG,CAAC;AACvC,WAAQ,MAAK,EAAI,EAAA;AACf,SAAK,EAAA;AAAG,eAAQ,SAAA,EAAC;eAAM,CAAA,EAAC,EAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC;QAAA,EAAC;AAAA,AACtC,SAAK,EAAA;AAAG,eAAQ,SAAA,EAAC,CAAG,CAAA,EAAC;eAAO,CAAA,EAAC,EAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC;QAAA,EAAC;AAAA,AACxD,SAAK,EAAA;AAAG,eAAQ,SAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC;eAAO,CAAA,EAAC,EAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC;QAAA,EAAC;AAAA,AACzE,SAAK,EAAA;AAAG,eAAQ,SAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC;eAAM,CAAA,EAAC,EAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC;QAAA,EAAC;AAAA,AACzF,SAAK,EAAA;AAAG,eAAQ,SAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC;eAAM,CAAA,EAAC,EAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC;QAAA,EAAC;AAAA,AAC1G,SAAK,EAAA;AAAG,eAAQ,SAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC;eAAM,CAAA,EAAC,EAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC;QAAA,EAAC;AAAA,AAC3H,SAAK,EAAA;AAAG,eAAQ,SAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC;eAAM,CAAA,EAAC,EAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC;QAAA,EAAC;AAAA,AAC5I,SAAK,EAAA;AAAG,eAAQ,SAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC;eAAM,CAAA,EAAC,EAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC;QAAA,EAAC;AAAA,AAC7J,SAAK,EAAA;AAAG,eAAQ,SAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC,CAAG,CAAA,EAAC;eAAM,CAAA,EAAC,EAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAI,CAAA,CAAA,AAAE,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC,CAAA,CAAK,CAAA,CAAA,AAAC,CAAA,EAAC,CAAC,CAAA,CAAI,GAAC;QAAA,EAAC;AAAA,AAC9K;AAAS,YAAM,IAAI,cAAY,AAAE,CAAA,0CAAyC,CAAC,CAAC;AAA5E,IACF;EACF;ACtWA,OAAO;AACD,UAAM,GCDZ,SAAS,IAAG;ACAZ,gBAAoB,KAAG,UAAkB,CAAC;AAA1C,cAAoB,KAAG,QAAkB,CAAC;AAA1C,oBAAoB,KAAG,cAAkB,CAAC;AAA1C,WAAoB,KAAG,KAAkB,CAAC;AAA1C,eAAoB,KAAG,SAAkB,CAAC;IDElC,CAFR,UAAS,IAAG;ACAZ,WAAoB,KAAG,KAAkB,CAAC;AAA1C,kBAAoB,KAAG,YAAkB,CAAC;AAA1C,iBAAoB,KAAG,WAAkB,CAAC;AAA1C,uBAAoB,KAAG,iBAAkB,CAAC;IDElC,CAFR,UAAS,IAAG;ACAZ,mBAAoB,KAAG,aAAkB,CAAC;AAA1C,iBAAoB,KAAG,WAAkB,CAAC;AAA1C,UAAoB,KAAG,IAAkB,CAAC;AAA1C,oBAAoB,KAAG,cAAkB,CAAC;AAA1C,iBAAoB,KAAG,WAAkB,CAAC;AAA1C,aAAoB,KAAG,OAAkB,CAAC;AAA1C,YAAoB,KAAG,MAAkB,CAAC;AAA1C,kBAAoB,KAAG,YAAkB,CAAC;AAA1C,WAAoB,KAAG,KAAkB,CAAC;AAA1C,mBAAoB,KAAG,aAAkB,CAAC;AAA1C,uBAAoB,KAAG,iBAAkB,CAAC;AAA1C,oBAAoB,KAAG,cAAkB,CAAC;AAA1C,kBAAoB,KAAG,YAAkB,CAAC;AAA1C,mBAAoB,KAAG,aAAkB,CAAC;AAA1C,iBAAoB,KAAG,WAAkB,CAAC;AAA1C,uBAAoB,KAAG,iBAAkB,CAAC;AAA1C,iBAAoB,KAAG,WAAkB,CAAC;AAA1C,gBAAoB,KAAG,UAAkB,CAAC;IDElC,CAFR,UAAS,IAAG;ACAZ,mBAAoB,KAAG,aAAkB,CAAC;AAA1C,uBAAoB,KAAG,iBAAkB,CAAC;AAA1C,qBAAoB,KAAG,eAAkB,CAAC;IDElC,CAFR,UAAS,IAAG,CAAG;ACAf,0BAAoB,KAAG,oBAAkB,CAAC;IDElC,CAFR,UAAS,IAAG,CAAG;ACAf,4BAAoB,KAAG,sBAAkB,CAAC;IDElC,CAFR,UAAS,IAAG,CAAG;ACAf,iCAAoB,KAAG,2BAAkB,CAAC;IDElC,CAFR,UAAS,IAAG,CAAG;ACAf,mBAAoB,KAAG,aAAkB,CAAC;IDElC,CAFR,UAAS,IAAG,CAAG;ACAf,eAAoB,KAAG,SAAkB,CAAC;IDElC,CAFR,UAAS,IAAG;ACAZ,kBAAoB,KAAG,YAAkB,CAAC;AAA1C,uBAAoB,KAAG,iBAAkB,CAAC;AAA1C,2BAAoB,KAAG,qBAAkB,CAAC;AAA1C,wBAAoB,KAAG,kBAAkB,CAAC;AAA1C,gCAAoB,KAAG,0BAAkB,CAAC;AAA1C,wBAAoB,KAAG,kBAAkB,CAAC;AAA1C,iCAAoB,KAAG,2BAAkB,CAAC;AAA1C,+BAAoB,KAAG,yBAAkB,CAAC;AAA1C,+BAAoB,KAAG,yBAAkB,CAAC;AAA1C,uBAAoB,KAAG,iBAAkB,CAAC;AAA1C,8BAAoB,KAAG,wBAAkB,CAAC;IDElC,CDDuB;AACzB,UAAM;0BGFY,CAAA,SAAQ,AAAC,yBCAjC,SAAQ,AAAC;AACC,AAAI,UAAA,sBL6CP,SAAM,oBAAkB,KK7CmB,ALkDlD,CKlDmD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC;AL6C5C,eAAK,CAAL,UAAO,GAAE,CAAO,CAAA,cAAa,AAAiC,CAAE;cAA5B,iBAAe,6CAAQ,KAAG;UAAG;AACjE,oBAAU,CAAV,UAAY,UAAS,CAAO,CAAA,cAAa,CAAQ,CAAA,gBAAoB,CAAiB;AACpF,iBAAO,KAAG,CAAC;UACb;AAAA,aK/C8D,CAAC;MACzD,AAAC,EAAC,EDJ4D;AJmDtE,WMnDK,eAAgB,CAAA,mBAAA,UAAA,OAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,EN8Cb,CAAA,GAAE,CAAA,CO/Cf,EAAA,MAAK,KAAK,IAAA,CAAA,CAAV,EAAA,MAAK,KAAK,IAAA,CAAA,CAAA,CDCuC;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAgB,CAAA,mBAAA,UAAA,YAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,ECD1B,CAAA,MAAK,KAAK,IAAA,CAAA,CPgDmC,EAAA,IAAG,CAAA,CAAoB,EAAA,IAAG,CAAA,CAAA,CM/CtB;QAAC,CAAC,CAAC,CAAC;oBFD7B,CAAA,SAAQ,AAAC,mBCAjC,SAAQ,AAAC,CAAE;AACD,AAAI,UAAA,gBLoDP,SAAM,cAAY,CAKX,GAAE,CAAO,CAAA,cAAa,CAAO,CAAA,gBAAmB,CAAG;AAC7D,aAAG,IAAI,EAAI,IAAE,CAAC;AACd,aAAG,eAAe,EAAI,eAAa,CAAC;AACpC,aAAG,iBAAiB,EAAI,iBAAe,CAAC;QK5DM,AL6DhD,CK7DiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC,uBACkB,CAAC;MACzD,AAAC,EAAC,EDJ4D;AEAtE,WAAK,eAAe,AAAC,CAAA,aAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ENyDR,CAAA,GAAE,CAAA,CO1DpB,EAAA,MAAK,KAAK,IAAA,CAAA,CAAV,EAAA,MAAK,KAAK,IAAA,CAAA,CAAA,CDCuC;QAAC,CAAC,CAAC,CAAC;iCFD7B,CAAA,SAAQ,AAAC,gCIAjC,SAAS,QAAO;AACN,AAAI,UAAA,6BRgEP,SAAM,2BAAyB,CAIxB,YAAwB,CAAG;ASrEzC,ATsEI,wBStEU,iBAAiB,AAAC,4BAAkB,KAAK,MAAmB,CTsE/D;AACP,aAAG,cAAc,EAAI,aAAW,CAAC;QQtEa,ARuEhD,CQvEiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC;ARwE5C,oBAAU,CAAV,UAAY,UAAa,CAAG,CAAA,cAAkB,CAAG,CAAA,gBAAoB,CAAG;AACtE,eAAG,0BAA0B,AAAE,CAAA,cAAa,CAAG,iBAAe,CAAC,CAAC;AAChE,iBAAO,IAAI,sBAAoB,AAAE,CAAA,UAAS,CAAG,CAAA,IAAG,cAAc,CAAG,CAAA,IAAG,SAAS,CAAC,CAAC;UACjF;AAEA,kCAAwB,CAAxB,UAA0B,cAAa,CAAQ,CAAA,gBAAe;AAC5D,eAAI,OAAO,AAAC,CAAA,IAAG,SAAS,CAAC,CAAG;AACtB,gBAAA,CAAA,aAAY,EAAI,IAAI,mBAAiB,AAAC,EAAC,CAAC;AAC5C,wBAAU,QAAS,AAAC,CAAA,cAAa,GAAI,SAAA,CAAA,CAAM;AACzC,4BAAY,OAAQ,AAAC,CAAA,CAAA,IAAI,CAAG,CAAA,CAAA,eAAe,CAAG,CAAA,CAAA,iBAAiB,CAAG,iBAAe,CAAC,CAAC;cACrF,EAAC,CAAC;AACF,iBAAG,SAAS,EAAI,CAAA,QAAO,AAAE,CAAA,aAAY,QAAQ,CAAC,CAAC;YACjD;AAAA,UACF;aQpFgE,SAAO,CAAC,CAAC;MACnE,AAAC,CR6DuC,mBAAkB,CQ7DvC,EJJ2C;AJwFtE,WMxFK,eAAe,AAAC,CAAA,0BAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ENoEC,CAAA,YAAW,CAAA,CAAA,CMpEW;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAgB,CAAA,0BAAA,UAAA,YAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ECD1B,CAAA,MAAK,KAAK,IAAA,CAAA,CP0EmC,EAAA,IAAG,CAAA,CAAoB,EAAA,IAAG,CAAA,CAAA,CMzEtB;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAgB,CAAA,0BAAA,UAAA,0BAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,EN8EiB,CAAA,IAAG,CAAA,CAAoB,EAAA,IAAG,CAAA,CAAA,CM9EpB;QAAC,CAAC,CAAC,CAAC;0CNyFJ,EAAA;6BI1FzB,CAAA,SAAQ,AAAC,4BIAjC,SAAS,QAAO;AACN,AAAI,UAAA,yBR0FP,SAAM,uBAAqB,CAIpB,YAAW,CAAG;AS/F5B,ATgGI,wBShGU,iBAAiB,AAAC,wBAAkB,KAAK,MAAmB,CTgG/D;AACP,aAAG,cAAc,EAAI,aAAW,CAAC;AACjC,aAAG,SAAS,EAAI,KAAG,CAAC;QQjG0B,ARkGhD,CQlGiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC;ARmG5C,oBAAU,CAAV,UAAY,UAAS,CAAO,CAAA,cAAa,CAAQ,CAAA,gBAAe,CAAQ;AACtE,eAAG,0BAA0B,AAAE,CAAA,cAAa,CAAG,iBAAe,CAAC,CAAC;AAChE,iBAAO,CAAA,IAAG,SAAS,AAAE,CAAA,UAAS,CAAG,CAAA,IAAG,cAAc,CAAC,CAAC;UACtD;AAEA,kCAAwB,CAAxB,UAA0B,cAAa,CAAQ,CAAA,gBAAe;AAC5D,eAAI,OAAO,AAAC,CAAA,IAAG,SAAS,CAAC,CAAG;AACtB,gBAAA,CAAA,aAAY,EAAI,IAAI,mBAAiB,AAAC,EAAC,CAAC;AAC5C,wBAAU,QAAQ,AAAE,CAAA,cAAa,GAAI,SAAA,CAAA,CAAM;AACzC,4BAAY,OAAQ,AAAC,CAAA,CAAA,IAAI,CAAG,CAAA,CAAA,eAAe,CAAG,CAAA,CAAA,iBAAiB,CAAG,iBAAe,CAAC,CAAC;cACrF,EAAC,CAAC;AACE,gBAAA,CAAA,CAAA,EAAI,CAAA,mCAAkC,EAAE,CAAC;AACzC,gBAAA,CAAA,OAAM,EAAI,CAAA,QAAQ,AAAC,CAAA,aAAY,QAAQ,CAAC,CAAC;AACzC,gBAAA,CAAA,QAAO,IAAI,gBAAiB,EAAA,EAAA,CAAE,CAAC;AACnC,iBAAG,SAAS,EAAI,CAAA,GAAI,2BAA0B,AAAC,CAAA,QAAO,CAAG,QAAM,CAAC,SAAS,AAAC,EAAC,CAAC;YAC9E;AAAA,UACF;aQlHgE,SAAO,CAAC,CAAC;MACnE,AAAC,CRuFmC,mBAAkB,CQvFnC,EJJ2C;AJsHtE,WMtHK,eAAe,AAAC,CAAA,sBAAA,UAAA,YAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,ECD1B,CAAA,MAAK,KAAK,IAAA,CAAA,CPqGmC,EAAA,IAAG,CAAA,CAAoB,EAAA,IAAG,CAAA,CAAA,CMpGtB;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,sBAAA,UAAA,0BAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ENyGiB,CAAA,IAAG,CAAA,CAAoB,EAAA,IAAG,CAAA,CAAA,CMzGpB;QAAC,CAAC,CAAC,CAAC;AIDrD,2BLAA,SAAQ,AAAC;AACC,AAAI,UAAA,qBLuHd,SAAM,mBAAiB,CAGT,AAAE,CAAA;AACZ,aAAG,QAAQ,EAAI,GAAC,CAAC;QK3H6B,AL4HhD,CK5HiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC,sBL6H5C,MAAK,CAAL,UAAO,GAAE,CAAO,CAAA,cAAa,AAA+D,CAAG;cAA3D,iBAAe,6CAAQ,KAAG;cAAG,iBAAe,6CAAS,KAAG;AACtF,cAAA,CAAA,IAAG,EAAI,CAAA,WAAU,KAAK,AAAE,CAAA,IAAG,QAAQ,CAAC,CAAC;AACzC,eAAI,SAAQ,AAAE,CAAA,IAAG,CAAC,CAAA,EAAK,CAAA,IAAG,iBAAiB,GAAK,iBAAe,CAAG;AAChE,iBAAG,gBAAgB,EAAI,MAAI,CAAC;YAC9B;AAAA,AAEI,cAAA,CAAA,EAAC,EAAI,CAAA,2BAA0B,QAAS,AAAC,CAAA,GAAE,CAAG,eAAa,CAAG,iBAAe,CAAG,CAAA,IAAG,QAAQ,OAAO,CAAG,iBAAe,CAAC,CAAC;AAC1H,eAAM,CAAA,WAAU,QAAS,AAAC,CAAA,EAAC,CAAC,CAAG;AACzB,gBAAA,CAAA,IAAG,EAAI,CAAA,WAAU,KAAK,AAAE,CAAA,EAAC,CAAC,CAAC;AAC/B,iBAAG,cAAc,EAAI,KAAG,CAAC;AACzB,iBAAG,gBAAgB,EAAI,KAAG,CAAC;AAE3B,iBAAG,QAAQ,EAAI,CAAA,WAAU,OAAO,AAAE,CAAA,IAAG,QAAQ,CAAG,GAAC,CAAC,CAAC;YACrD;AAAA,UACF,MK1I8D,CAAC;MACzD,AAAC,EAAC,CKJ0B,CAAA;AJApC,WAAK,eAAe,AAAC,CAAA,kBAAA,UAAA,OAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,EN8Hb,CAAA,GAAE,CAAA,CO/Hf,EAAA,MAAK,KAAK,IAAA,CAAA,CAAV,EAAA,MAAK,KAAK,IAAA,CAAA,CP+H0E,EAAA,IAAG,CAAA,CAAA,CM9HtC;QAAC,CAAC,CAAC,CAAC;AIDrD,oCLAA,SAAQ,AAAC;AACC,AAAI,UAAA,8BL+Id,SAAM,4BAA0B,CAQlB,cAAiB,CAAG,CAAA,gBAAmB,CAAG,CAAA,YAAkB,CAAG,CAAA,kBAAwB,CAAG,CAAA,gBAAe,CAAQ;AAC3H,aAAG,aAAa,EAAI,GAAC,CAAC;AACtB,aAAG,eAAe,EAAI,eAAa,CAAC;AACpC,aAAG,iBAAiB,EAAI,iBAAe,CAAC;AACxC,aAAG,aAAa,EAAI,aAAW,CAAC;AAChC,aAAG,mBAAmB,EAAI,mBAAiB,CAAC;AAC5C,aAAG,iBAAiB,EAAI,iBAAe,CAAC;QK7JM,AL8JhD,CK9JiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC;ALqK5C,8BAAoB,CAApB,UAAsB,GAAE,CAAoB;AAC1C,iBAAO,EAAA,CAAC;UACV;AAEA,2BAAiB,CAAjB,UAAmB,GAAgB,CAAG;AAChC,cAAA,CAAA,IAAG,EAAI,CAAA,IAAG,UAAU,AAAE,CAAA,GAAE,YAAY,CAAC,CAAC;AAC1C,iBAAO,CAAA,IAAG,WAAW,AAAE,CAAA,uBAAsB,CAAG,cAAY,CAAG,CAAA,gBAAgB,AAAC,CAAA,GAAE,QAAQ,CAAC,CACzF,KAAG,CAAG,CAAA,GAAE,QAAQ,CAAG,EAAA,CAAC,CAAC;UACzB;AAEA,8BAAoB,CAApB,UAAsB,GAAmB,CAAG;AAC1C,iBAAO,CAAA,IAAG,WAAW,AAAE,CAAA,iBAAgB,CAAG,UAAQ,CAAG,CAAA,GAAE,MAAM,CAAG,GAAC,CAAG,KAAG,CAAG,EAAA,CAAC,CAAC;UAC9E;AAEA,0BAAgB,CAAhB,UAAkB,GAAe,CAAG;AAC9B,cAAA,CAAA,QAAO,EAAI,CAAA,GAAE,SAAS,MAAM,AAAE,CAAA,IAAG,CAAC,CAAC;AACvC,eAAI,SAAQ,AAAE,CAAA,IAAG,iBAAiB,CAAC,CAAA,EAAK,CAAA,WAAU,SAAS,AAAE,CAAA,IAAG,iBAAiB,CAAG,CAAA,GAAE,KAAK,CAAC,CAAG;AAC7F,mBAAO,CAAA,IAAG,WAAW,AAAE,CAAA,iBAAgB,CAAG,CAAA,GAAE,KAAK,CAAG,CAAA,GAAE,KAAK,CAAG,GAAC,CAAG,KAAG,CAAG,SAAO,CAAC,CAAC;YACnF,KAAO;AACL,mBAAO,CAAA,IAAG,WAAW,AAAE,CAAA,oBAAmB,CAAG,CAAA,GAAE,KAAK,CAAG,CAAA,GAAE,OAAO,CAAG,GAAC,CAAG,KAAG,CAAG,SAAO,CAAC,CAAC;YACxF;AAAA,UACF;AAEA,wBAAc,CAAd,UAAgB,GAAE,CAAc;AAAC,YAAA;AAC3B,cAAA,CAAA,QAAO,EAAI,CAAA,GAAE,SAAS,MAAO,AAAC,CAAA,IAAG,CAAC,CAAC;AACnC,cAAA,CAAA,IAAG,EAAI,CAAA,IAAG,UAAU,AAAE,CAAA,GAAE,KAAK,CAAC,CAAC;AACnC,eAAI,SAAQ,AAAE,CAAA,IAAG,iBAAiB,CAAC,CAAA,EAAK,CAAA,WAAU,SAAS,AAAE,CAAA,IAAG,iBAAiB,CAAG,CAAA,GAAE,KAAK,CAAC,CAAG;AACzF,gBAAA,CAAA,MAAK,EAAI,CAAA,IAAG,WAAW,AAAE,CAAA,iBAAgB,CAAG,CAAA,GAAE,KAAK,CAAG,CAAA,GAAE,KAAK,CAAG,GAAC,CAAG,KAAG,CAAG,SAAO,CAAC,CAAC;AACvF,mBAAO,CAAA,IAAG,WAAY,AAAC,CAAA,0BAAyB,CAAG,UAAQ,CAAG,KAAG,CAAG,KAAG,CAAG,KAAG,CAAG,OAAK,CAAC,CAAC;YACzF,KAAO;AACL,mBAAO,CAAA,IAAG,WAAY,AAAC,CAAA,yBAAwB,CAAG,CAAA,GAAE,KAAK,CAAG,CAAA,GAAE,GAAG,CAAG,KAAG,CAAG,KAAG,CAAG,SAAO,CAAC,CAAC;YAC3F;AAAA,UACF;AAEA,0BAAgB,CAAhB,UAAkB,GAAE,CAAgB;AAC9B,cAAA,CAAA,MAAK,EAAI,CAAA,GAAE,OAAO,MAAM,AAAE,CAAA,IAAG,CAAC,CAAC;AAC/B,cAAA,CAAA,IAAG,EAAI,CAAA,IAAG,UAAW,AAAC,CAAA,GAAE,KAAK,CAAC,CAAC;AACnC,iBAAO,CAAA,IAAG,WAAW,AAAE,CAAA,0BAAyB,CAAG,UAAQ,CAAG,KAAG,CAAG,KAAG,CAAG,KAAG,CAAG,OAAK,CAAC,CAAC;UACzF;AAEA,0BAAgB,CAAhB,UAAkB,GAAE,CAAgB;AAC9B,cAAA,CAAA,aAAY,IAAI,SAAU,EAAA,CAAA,GAAE,YAAY,OAAO,CAAE,CAAC;AACtD,iBAAO,CAAA,IAAG,WAAY,AAAC,CAAA,wBAAuB,CAAG,cAAY,CAAG,CAAA,QAAQ,AAAC,CAAA,GAAE,YAAY,OAAO,CAAC,CAC7F,CAAA,IAAG,UAAU,AAAE,CAAA,GAAE,YAAY,CAAC,CAAG,KAAG,CAAG,EAAA,CAAC,CAAC;UAC7C;AAEA,wBAAc,CAAd,UAAgB,GAAE,CAAc;AAC9B,iBAAO,CAAA,IAAG,WAAW,AAAE,CAAA,wBAAuB,CAAG,CAAA,iBAAgB,AAAE,CAAA,GAAE,KAAK,CAAC,CACzE,CAAA,mBAAkB,MAAM,AAAE,CAAA,GAAE,KAAK,CAAC,CAAG,CAAA,IAAG,UAAW,AAAC,CAAA,GAAE,OAAO,CAAC,CAAG,KAAG,CAAG,EAAA,CAAC,CAAC;UAC7E;AAEA,oBAAU,CAAV,UAAY,GAAE,CAAU;AAClB,cAAA,CAAA,IAAG,EAAI,CAAA,GAAE,KAAK,MAAO,AAAC,CAAA,IAAG,CAAC,CAAC;AAC3B,cAAA,CAAA,KAAI,EAAI,CAAA,GAAE,MAAM,MAAO,AAAC,CAAA,IAAG,CAAC,CAAC;AACjC,iBAAO,CAAA,IAAG,WAAW,AAAE,CAAA,wBAAuB,CAAG,CAAA,yBAAwB,AAAE,CAAA,GAAE,UAAU,CAAC,CACtF,CAAA,oBAAoB,AAAC,CAAA,GAAE,UAAU,CAAC,CAAI,EAAA,IAAG,CAAG,MAAI,CAAC,CAAG,KAAG,CAAG,EAAA,CAAC,CAAC;UAChE;AAEA,uBAAa,CAAb,UAAe,GAAY,CAAG;AACxB,cAAA,CAAA,GAAE,EAAI,CAAA,GAAE,WAAW,MAAM,AAAE,CAAA,IAAG,CAAC,CAAA;AACnC,iBAAO,CAAA,IAAG,WAAY,AAAC,CAAA,wBAAuB,CAAG,mBAAiB,CAChE,CAAA,mBAAkB,iBAAiB,CAAI,EAAA,GAAE,CAAC,CAAG,KAAG,CAAG,EAAA,CAAC,CAAC;UACzD;AAEA,yBAAe,CAAf,UAAiB,GAAE,CAAe;AAC5B,cAAA,CAAA,CAAA,EAAI,CAAA,GAAE,UAAU,MAAO,AAAC,CAAA,IAAG,CAAC,CAAC;AAC7B,cAAA,CAAA,CAAA,EAAI,CAAA,GAAE,QAAQ,MAAO,AAAC,CAAA,IAAG,CAAC,CAAC;AAC3B,cAAA,CAAA,CAAA,EAAI,CAAA,GAAE,SAAS,MAAO,AAAC,CAAA,IAAG,CAAC,CAAC;AAChC,iBAAO,CAAA,IAAG,WAAW,AAAE,CAAA,wBAAuB,CAAG,OAAK,CACpD,CAAA,mBAAkB,KAAK,CAAI,EAAA,CAAA,CAAE,EAAA,CAAE,EAAA,CAAC,CAAG,KAAG,CAAG,EAAA,CAAC,CAAC;UAC/C;AAEA,kBAAQ,CAAR,UAAU,GAAO,CAAG;AACd,cAAA,CAAA,KAAI,EAAI,CAAA,GAAE,IAAI,MAAO,AAAC,CAAA,IAAG,CAAC,CAAC;AAC/B,iBAAO,CAAA,IAAG,WAAW,AAAE,CAAA,gBAAe,CAAG,CAAA,GAAE,KAAK,CAAG,CAAA,GAAE,KAAK,CAAG,GAAC,CAAG,KAAG,CAAG,MAAI,CAAC,CAAC;UAC/E;AAEA,yBAAe,CAAf,UAAiB,GAAE,CAAe;AAC5B,cAAA,CAAA,GAAE,EAAI,CAAA,GAAE,IAAI,MAAM,AAAE,CAAA,IAAG,CAAC,CAAC;AACzB,cAAA,CAAA,GAAE,EAAI,CAAA,GAAE,IAAI,MAAM,AAAE,CAAA,IAAG,CAAC,CAAC;AAC7B,iBAAO,CAAA,IAAG,WAAY,AAAC,CAAA,wBAAuB,CAAG,cAAY,CAC3D,CAAA,mBAAkB,YAAY,CAAI,EAAA,GAAE,CAAC,CAAG,KAAG,CAAG,IAAE,CAAC,CAAC;UACtD;AAEA,kBAAQ,CAAR,UAAU,IAAQ,CAAG;AACf,cAAA,CAAA,GAAE,EAAI,CAAA,WAAU,gBAAgB,AAAE,CAAA,IAAG,OAAO,CAAC,CAAC;AAClD,gBAAS,GAAA,CAAA,CAAA,EAAI,EAAA,CAAG,CAAA,CAAA,EAAI,CAAA,IAAG,OAAO,CAAG,GAAE,CAAA,CAAG;AACpC,gBAAE,CAAE,CAAA,CAAC,EAAI,CAAA,IAAG,CAAE,CAAA,CAAC,MAAM,AAAE,CAAA,IAAG,CAAC,CAAC;YAC9B;AAAA,AACA,iBAAO,IAAE,CAAC;UACZ;AAEA,mBAAS,CAAT,UAAW,IAAG,CAAG,CAAA,IAAG,CAAG,CAAA,WAAU,CAAG,CAAA,IAAG,CAAG,CAAA,SAAQ,CAAG,CAAA,OAAM,CAAG;AACxD,cAAA,CAAA,SAAQ,EAAI,GAAG,IAAG,aAAa,CAAC;AACpC,sBAAU,KAAM,AAAC,CAAA,IAAG,aAAa,CAC/B,IAAI,YAAU,AAAE,CAAA,IAAG,CAAG,KAAG,CAAG,YAAU,CAAG,KAAG,CAAG,UAAQ,CAAG,QAAM,CAAG,UAAQ,CACzE,CAAA,IAAG,eAAe,CAAG,CAAA,IAAG,iBAAiB,CAAG,CAAA,IAAG,mBAAmB,CAAG,MAAI,CAAG,MAAI,CAAC,CAAC,CAAC;AACvF,iBAAO,UAAQ,CAAC;UAClB;AAAA,WAxGO,OAAM,CAAb,UAAe,GAAE,CAAO,CAAA,cAAa,CAAO,CAAA,gBAAe,CAAO,CAAA,YAAW,CAAU,CAAA,gBAAoB,CAAG;AACxG,cAAA,CAAA,CAAA,EAAI,IAAI,4BAA2B,AAAC,CAAA,cAAa,CAAG,iBAAe,CAAG,aAAW,CAAG,CAAA,GAAE,SAAU,EAAC,CAAG,iBAAe,CAAC,CAAC;AACzH,cAAE,MAAO,AAAC,CAAA,CAAA,CAAC,CAAC;AACZ,iBAAO,CAAA,CAAA,aAAa,CAAC;UACvB,EKlK8D,CAAC;MACzD,AAAC,EAAC,CKJ0B,CAAA;AJApC,WAAK,eAAgB,CAAA,2BAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ECD1B,CAAA,MAAK,KAAK,IAAA,CAAA,CAAV,EAAA,MAAK,KAAK,IAAA,CAAA,CAAV,EAAA,MAAK,KAAK,OAAA,CAAA,CAAV,EAAA,MAAK,KAAK,OAAA,CAAA,CPwJ+G,EAAA,IAAG,CAAA,CAAA,CMvJ3E;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAgB,CAAA,2BAAA,QAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ENgKL,CAAA,GAAE,CAAA,COjKvB,EAAA,MAAK,KAAK,IAAA,CAAA,CAAV,EAAA,MAAK,KAAK,IAAA,CAAA,CAAV,EAAA,MAAK,KAAK,OAAA,CAAA,CPiKgG,EAAA,IAAG,CAAA,CAAA,CMhK5D;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAgB,CAAA,2BAAA,UAAA,sBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ENsKE,CAAA,gBAAe,CAAA,CAAA,CMtKM;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,2BAAA,UAAA,mBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,EN0KD,CAAA,aAAY,CAAA,CAAA,CM1KY;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,2BAAA,UAAA,sBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ENgLE,CAAA,gBAAe,CAAA,CAAA,CMhLM;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,2BAAA,UAAA,kBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ENoLF,CAAA,YAAW,CAAA,CAAA,CMpLc;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,2BAAA,UAAA,gBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,EN6LJ,CAAA,UAAS,CAAA,CAAA,CM7LkB;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,2BAAA,UAAA,kBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ENwMF,CAAA,YAAW,CAAA,CAAA,CMxMc;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,2BAAA,UAAA,kBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,EN8MF,CAAA,YAAW,CAAA,CAAA,CM9Mc;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,2BAAA,UAAA,gBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ENoNJ,CAAA,UAAS,CAAA,CAAA,CMpNkB;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,2BAAA,UAAA,YAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,ENyNR,CAAA,MAAK,CAAA,CAAA,CMzN0B;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAgB,CAAA,2BAAA,UAAA,eAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,ENgOL,CAAA,SAAQ,CAAA,CAAA,CMhOoB;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAgB,CAAA,2BAAA,UAAA,iBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,ENsOH,CAAA,WAAU,CAAA,CAAA,CMtOgB;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,2BAAA,UAAA,UAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,EN8OV,CAAA,IAAG,CAAA,CAAA,CM9O8B;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAe,AAAC,CAAA,2BAAA,UAAA,iBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,ENmPH,CAAA,WAAU,CAAA,CAAA,CMnPgB;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAgB,CAAA,2BAAA,UAAA,UAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,EN0PT,CAAA,IAAG,CAAA,CAAA,CM1P6B;QAAC,CAAC,CAAC,CAAC;AN0RrD,WM3RK,eAAe,AAAC,CAAA,QAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ECD1B,CAAA,MAAK,KAAK,OAAA,CAAA,CAAA,CDCuC;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAgB,CAAA,iBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,EN4RM,CAAA,IAAG,CAAA,CAAA,CM5Rc;QAAC,CAAC,CAAC,CAAC;AADrD,WAAK,eAAgB,CAAA,yBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,ECD1B,CAAA,MAAK,KAAK,OAAA,CAAA,CAAA,CDCuC;QAAC,CAAC,CAAC,CAAC;ANuUrD,WMxUK,eAAe,AAAC,CAAA,oBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAS,AAAE,CAAA;AAAC,eAAA,ECD1B,CAAA,MAAK,KAAK,OAAA,CAAA,CAAA,CDCuC;QAAC,CAAC,CAAC,CAAC;ANqWrD,WMtWK,eAAe,AAAC,CAAA,gBAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,EN6UQ,CAAA,IAAG,CAAA,CAAA,CM7UY;QAAC,CAAC,CAAC,CAAC;ILCtB;EAC3B,CAAA;AFDI,CAAC,CAAC;ACmbqC","file":"src/change_detection/proto_change_detector.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","import {isPresent, isBlank, BaseException, Type, isString} from 'angular2/src/facade/lang';\nimport {List, ListWrapper, MapWrapper, StringMapWrapper} from 'angular2/src/facade/collection';\n\nimport {\n AccessMember,\n Assignment,\n AST,\n ASTWithSource,\n AstVisitor,\n Binary,\n Chain,\n Conditional,\n Pipe,\n FunctionCall,\n ImplicitReceiver,\n Interpolation,\n KeyedAccess,\n LiteralArray,\n LiteralMap,\n LiteralPrimitive,\n MethodCall,\n PrefixNot\n } from './parser/ast';\n\nimport {ChangeRecord, ChangeDispatcher, ChangeDetector} from './interfaces';\nimport {ChangeDetectionUtil} from './change_detection_util';\nimport {DynamicChangeDetector} from './dynamic_change_detector';\nimport {ChangeDetectorJITGenerator} from './change_detection_jit_generator';\nimport {PipeRegistry} from './pipes/pipe_registry';\n\nimport {coalesce} from './coalesce';\n\nimport {\n ProtoRecord,\n RECORD_TYPE_SELF,\n RECORD_TYPE_PROPERTY,\n RECORD_TYPE_LOCAL,\n RECORD_TYPE_INVOKE_METHOD,\n RECORD_TYPE_CONST,\n RECORD_TYPE_INVOKE_CLOSURE,\n RECORD_TYPE_PRIMITIVE_OP,\n RECORD_TYPE_KEYED_ACCESS,\n RECORD_TYPE_PIPE,\n RECORD_TYPE_INTERPOLATE\n } from './proto_record';\n\nexport class ProtoChangeDetector {\n addAst(ast:AST, bindingMemento:any, directiveMemento:any = null){}\n instantiate(dispatcher:any, bindingRecords:List, variableBindings:List):ChangeDetector{\n return null;\n }\n}\n\nexport class BindingRecord {\n ast:AST;\n bindingMemento:any;\n directiveMemento:any;\n\n constructor(ast:AST, bindingMemento:any, directiveMemento:any) {\n this.ast = ast;\n this.bindingMemento = bindingMemento;\n this.directiveMemento = directiveMemento;\n }\n}\n\nexport class DynamicProtoChangeDetector extends ProtoChangeDetector {\n _pipeRegistry:PipeRegistry;\n _records:List;\n\n constructor(pipeRegistry:PipeRegistry) {\n super();\n this._pipeRegistry = pipeRegistry;\n }\n\n instantiate(dispatcher:any, bindingRecords:List, variableBindings:List) {\n this._createRecordsIfNecessary(bindingRecords, variableBindings);\n return new DynamicChangeDetector(dispatcher, this._pipeRegistry, this._records);\n }\n\n _createRecordsIfNecessary(bindingRecords:List, variableBindings:List) {\n if (isBlank(this._records)) {\n var recordBuilder = new ProtoRecordBuilder();\n ListWrapper.forEach(bindingRecords, (r) => {\n recordBuilder.addAst(r.ast, r.bindingMemento, r.directiveMemento, variableBindings);\n });\n this._records = coalesce(recordBuilder.records);\n }\n }\n}\n\nvar _jitProtoChangeDetectorClassCounter:number = 0;\nexport class JitProtoChangeDetector extends ProtoChangeDetector {\n _factory:Function;\n _pipeRegistry;\n\n constructor(pipeRegistry) {\n super();\n this._pipeRegistry = pipeRegistry;\n this._factory = null;\n }\n\n instantiate(dispatcher:any, bindingRecords:List, variableBindings:List) {\n this._createFactoryIfNecessary(bindingRecords, variableBindings);\n return this._factory(dispatcher, this._pipeRegistry);\n }\n\n _createFactoryIfNecessary(bindingRecords:List, variableBindings:List) {\n if (isBlank(this._factory)) {\n var recordBuilder = new ProtoRecordBuilder();\n ListWrapper.forEach(bindingRecords, (r) => {\n recordBuilder.addAst(r.ast, r.bindingMemento, r.directiveMemento, variableBindings);\n });\n var c = _jitProtoChangeDetectorClassCounter++;\n var records = coalesce(recordBuilder.records);\n var typeName = `ChangeDetector${c}`;\n this._factory = new ChangeDetectorJITGenerator(typeName, records).generate();\n }\n }\n}\n\nclass ProtoRecordBuilder {\n records:List;\n\n constructor() {\n this.records = [];\n }\n\n addAst(ast:AST, bindingMemento:any, directiveMemento:any = null, variableBindings:List = null) {\n var last = ListWrapper.last(this.records);\n if (isPresent(last) && last.directiveMemento == directiveMemento) {\n last.lastInDirective = false;\n }\n\n var pr = _ConvertAstIntoProtoRecords.convert(ast, bindingMemento, directiveMemento, this.records.length, variableBindings);\n if (! ListWrapper.isEmpty(pr)) {\n var last = ListWrapper.last(pr);\n last.lastInBinding = true;\n last.lastInDirective = true;\n\n this.records = ListWrapper.concat(this.records, pr);\n }\n }\n}\n\nclass _ConvertAstIntoProtoRecords {\n protoRecords:List;\n bindingMemento:any;\n directiveMemento:any;\n variableBindings:List;\n contextIndex:number;\n expressionAsString:string;\n\n constructor(bindingMemento:any, directiveMemento:any, contextIndex:number, expressionAsString:string, variableBindings:List) {\n this.protoRecords = [];\n this.bindingMemento = bindingMemento;\n this.directiveMemento = directiveMemento;\n this.contextIndex = contextIndex;\n this.expressionAsString = expressionAsString;\n this.variableBindings = variableBindings;\n }\n\n static convert(ast:AST, bindingMemento:any, directiveMemento:any, contextIndex:number, variableBindings:List) {\n var c = new _ConvertAstIntoProtoRecords(bindingMemento, directiveMemento, contextIndex, ast.toString(), variableBindings);\n ast.visit(c);\n return c.protoRecords;\n }\n\n visitImplicitReceiver(ast:ImplicitReceiver) {\n return 0;\n }\n\n visitInterpolation(ast:Interpolation) {\n var args = this._visitAll(ast.expressions);\n return this._addRecord(RECORD_TYPE_INTERPOLATE, \"interpolate\", _interpolationFn(ast.strings),\n args, ast.strings, 0);\n }\n\n visitLiteralPrimitive(ast:LiteralPrimitive) {\n return this._addRecord(RECORD_TYPE_CONST, \"literal\", ast.value, [], null, 0);\n }\n\n visitAccessMember(ast:AccessMember) {\n var receiver = ast.receiver.visit(this);\n if (isPresent(this.variableBindings) && ListWrapper.contains(this.variableBindings, ast.name)) {\n return this._addRecord(RECORD_TYPE_LOCAL, ast.name, ast.name, [], null, receiver);\n } else {\n return this._addRecord(RECORD_TYPE_PROPERTY, ast.name, ast.getter, [], null, receiver);\n }\n }\n\n visitMethodCall(ast:MethodCall) {;\n var receiver = ast.receiver.visit(this);\n var args = this._visitAll(ast.args);\n if (isPresent(this.variableBindings) && ListWrapper.contains(this.variableBindings, ast.name)) {\n var target = this._addRecord(RECORD_TYPE_LOCAL, ast.name, ast.name, [], null, receiver);\n return this._addRecord(RECORD_TYPE_INVOKE_CLOSURE, \"closure\", null, args, null, target);\n } else {\n return this._addRecord(RECORD_TYPE_INVOKE_METHOD, ast.name, ast.fn, args, null, receiver);\n }\n }\n\n visitFunctionCall(ast:FunctionCall) {\n var target = ast.target.visit(this);\n var args = this._visitAll(ast.args);\n return this._addRecord(RECORD_TYPE_INVOKE_CLOSURE, \"closure\", null, args, null, target);\n }\n\n visitLiteralArray(ast:LiteralArray) {\n var primitiveName = `arrayFn${ast.expressions.length}`;\n return this._addRecord(RECORD_TYPE_PRIMITIVE_OP, primitiveName, _arrayFn(ast.expressions.length),\n this._visitAll(ast.expressions), null, 0);\n }\n\n visitLiteralMap(ast:LiteralMap) {\n return this._addRecord(RECORD_TYPE_PRIMITIVE_OP, _mapPrimitiveName(ast.keys),\n ChangeDetectionUtil.mapFn(ast.keys), this._visitAll(ast.values), null, 0);\n }\n\n visitBinary(ast:Binary) {\n var left = ast.left.visit(this);\n var right = ast.right.visit(this);\n return this._addRecord(RECORD_TYPE_PRIMITIVE_OP, _operationToPrimitiveName(ast.operation),\n _operationToFunction(ast.operation), [left, right], null, 0);\n }\n\n visitPrefixNot(ast:PrefixNot) {\n var exp = ast.expression.visit(this)\n return this._addRecord(RECORD_TYPE_PRIMITIVE_OP, \"operation_negate\",\n ChangeDetectionUtil.operation_negate, [exp], null, 0);\n }\n\n visitConditional(ast:Conditional) {\n var c = ast.condition.visit(this);\n var t = ast.trueExp.visit(this);\n var f = ast.falseExp.visit(this);\n return this._addRecord(RECORD_TYPE_PRIMITIVE_OP, \"cond\",\n ChangeDetectionUtil.cond, [c,t,f], null, 0);\n }\n\n visitPipe(ast:Pipe) {\n var value = ast.exp.visit(this);\n return this._addRecord(RECORD_TYPE_PIPE, ast.name, ast.name, [], null, value);\n }\n\n visitKeyedAccess(ast:KeyedAccess) {\n var obj = ast.obj.visit(this);\n var key = ast.key.visit(this);\n return this._addRecord(RECORD_TYPE_KEYED_ACCESS, \"keyedAccess\",\n ChangeDetectionUtil.keyedAccess, [key], null, obj);\n }\n\n _visitAll(asts:List) {\n var res = ListWrapper.createFixedSize(asts.length);\n for (var i = 0; i < asts.length; ++i) {\n res[i] = asts[i].visit(this);\n }\n return res;\n }\n\n _addRecord(type, name, funcOrValue, args, fixedArgs, context) {\n var selfIndex = ++ this.contextIndex;\n ListWrapper.push(this.protoRecords,\n new ProtoRecord(type, name, funcOrValue, args, fixedArgs, context, selfIndex,\n this.bindingMemento, this.directiveMemento, this.expressionAsString, false, false));\n return selfIndex;\n }\n}\n\n\nfunction _arrayFn(length:number):Function {\n switch (length) {\n case 0: return ChangeDetectionUtil.arrayFn0;\n case 1: return ChangeDetectionUtil.arrayFn1;\n case 2: return ChangeDetectionUtil.arrayFn2;\n case 3: return ChangeDetectionUtil.arrayFn3;\n case 4: return ChangeDetectionUtil.arrayFn4;\n case 5: return ChangeDetectionUtil.arrayFn5;\n case 6: return ChangeDetectionUtil.arrayFn6;\n case 7: return ChangeDetectionUtil.arrayFn7;\n case 8: return ChangeDetectionUtil.arrayFn8;\n case 9: return ChangeDetectionUtil.arrayFn9;\n default: throw new BaseException(`Does not support literal maps with more than 9 elements`);\n }\n}\n\nfunction _mapPrimitiveName(keys:List) {\n var stringifiedKeys = ListWrapper.join(\n ListWrapper.map(keys, (k) => isString(k) ? `\"${k}\"` : `${k}`),\n \", \");\n return `mapFn([${stringifiedKeys}])`;\n}\n\nfunction _operationToPrimitiveName(operation:string):string {\n switch(operation) {\n case '+' : return \"operation_add\";\n case '-' : return \"operation_subtract\";\n case '*' : return \"operation_multiply\";\n case '/' : return \"operation_divide\";\n case '%' : return \"operation_remainder\";\n case '==' : return \"operation_equals\";\n case '!=' : return \"operation_not_equals\";\n case '<' : return \"operation_less_then\";\n case '>' : return \"operation_greater_then\";\n case '<=' : return \"operation_less_or_equals_then\";\n case '>=' : return \"operation_greater_or_equals_then\";\n case '&&' : return \"operation_logical_and\";\n case '||' : return \"operation_logical_or\";\n default: throw new BaseException(`Unsupported operation ${operation}`);\n }\n}\n\nfunction _operationToFunction(operation:string):Function {\n switch(operation) {\n case '+' : return ChangeDetectionUtil.operation_add;\n case '-' : return ChangeDetectionUtil.operation_subtract;\n case '*' : return ChangeDetectionUtil.operation_multiply;\n case '/' : return ChangeDetectionUtil.operation_divide;\n case '%' : return ChangeDetectionUtil.operation_remainder;\n case '==' : return ChangeDetectionUtil.operation_equals;\n case '!=' : return ChangeDetectionUtil.operation_not_equals;\n case '<' : return ChangeDetectionUtil.operation_less_then;\n case '>' : return ChangeDetectionUtil.operation_greater_then;\n case '<=' : return ChangeDetectionUtil.operation_less_or_equals_then;\n case '>=' : return ChangeDetectionUtil.operation_greater_or_equals_then;\n case '&&' : return ChangeDetectionUtil.operation_logical_and;\n case '||' : return ChangeDetectionUtil.operation_logical_or;\n default: throw new BaseException(`Unsupported operation ${operation}`);\n }\n}\n\nfunction s(v) {\n return isPresent(v) ? `${v}` : '';\n}\n\nfunction _interpolationFn(strings:List) {\n var length = strings.length;\n var c0 = length > 0 ? strings[0] : null;\n var c1 = length > 1 ? strings[1] : null;\n var c2 = length > 2 ? strings[2] : null;\n var c3 = length > 3 ? strings[3] : null;\n var c4 = length > 4 ? strings[4] : null;\n var c5 = length > 5 ? strings[5] : null;\n var c6 = length > 6 ? strings[6] : null;\n var c7 = length > 7 ? strings[7] : null;\n var c8 = length > 8 ? strings[8] : null;\n var c9 = length > 9 ? strings[9] : null;\n switch (length - 1) {\n case 1: return (a1) => c0 + s(a1) + c1;\n case 2: return (a1, a2) => c0 + s(a1) + c1 + s(a2) + c2;\n case 3: return (a1, a2, a3) => c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3;\n case 4: return (a1, a2, a3, a4) => c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4;\n case 5: return (a1, a2, a3, a4, a5) => c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4 + s(a5) + c5;\n case 6: return (a1, a2, a3, a4, a5, a6) => c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4 + s(a5) + c5 + s(a6) + c6;\n case 7: return (a1, a2, a3, a4, a5, a6, a7) => c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4 + s(a5) + c5 + s(a6) + c6 + s(a7) + c7;\n case 8: return (a1, a2, a3, a4, a5, a6, a7, a8) => c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4 + s(a5) + c5 + s(a6) + c6 + s(a7) + c7 + s(a8) + c8;\n case 9: return (a1, a2, a3, a4, a5, a6, a7, a8, a9) => c0 + s(a1) + c1 + s(a2) + c2 + s(a3) + c3 + s(a4) + c4 + s(a5) + c5 + s(a6) + c6 + s(a7) + c7 + s(a8) + c8 + s(a9) + c9;\n default: throw new BaseException(`Does not support more than 9 expressions`);\n }\n}","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","$traceurRuntime.superConstructor($__placeholder__0).call($__placeholder__1)","$__placeholder__0 = $__placeholder__1"]} \ No newline at end of file diff --git a/angular2/src/change_detection/proto_record.js b/angular2/src/change_detection/proto_record.js deleted file mode 100644 index 612a3a3..0000000 --- a/angular2/src/change_detection/proto_record.js +++ /dev/null @@ -1,58 +0,0 @@ -System.register(["angular2/src/facade/collection"], function($__export) { - "use strict"; - var List, - RECORD_TYPE_SELF, - RECORD_TYPE_CONST, - RECORD_TYPE_PRIMITIVE_OP, - RECORD_TYPE_PROPERTY, - RECORD_TYPE_LOCAL, - RECORD_TYPE_INVOKE_METHOD, - RECORD_TYPE_INVOKE_CLOSURE, - RECORD_TYPE_KEYED_ACCESS, - RECORD_TYPE_PIPE, - RECORD_TYPE_INTERPOLATE, - ProtoRecord; - return { - setters: [function($__m) { - List = $__m.List; - }], - execute: function() { - RECORD_TYPE_SELF = $__export("RECORD_TYPE_SELF", 0); - RECORD_TYPE_CONST = $__export("RECORD_TYPE_CONST", 1); - RECORD_TYPE_PRIMITIVE_OP = $__export("RECORD_TYPE_PRIMITIVE_OP", 2); - RECORD_TYPE_PROPERTY = $__export("RECORD_TYPE_PROPERTY", 3); - RECORD_TYPE_LOCAL = $__export("RECORD_TYPE_LOCAL", 4); - RECORD_TYPE_INVOKE_METHOD = $__export("RECORD_TYPE_INVOKE_METHOD", 5); - RECORD_TYPE_INVOKE_CLOSURE = $__export("RECORD_TYPE_INVOKE_CLOSURE", 6); - RECORD_TYPE_KEYED_ACCESS = $__export("RECORD_TYPE_KEYED_ACCESS", 7); - RECORD_TYPE_PIPE = $__export("RECORD_TYPE_PIPE", 8); - RECORD_TYPE_INTERPOLATE = $__export("RECORD_TYPE_INTERPOLATE", 9); - ProtoRecord = $__export("ProtoRecord", (function() { - var ProtoRecord = function ProtoRecord(mode, name, funcOrValue, args, fixedArgs, contextIndex, selfIndex, bindingMemento, directiveMemento, expressionAsString, lastInBinding, lastInDirective) { - this.mode = mode; - this.name = name; - this.funcOrValue = funcOrValue; - this.args = args; - this.fixedArgs = fixedArgs; - this.contextIndex = contextIndex; - this.selfIndex = selfIndex; - this.bindingMemento = bindingMemento; - this.directiveMemento = directiveMemento; - this.lastInBinding = lastInBinding; - this.lastInDirective = lastInDirective; - this.expressionAsString = expressionAsString; - }; - return ($traceurRuntime.createClass)(ProtoRecord, {isPureFunction: function() { - return this.mode === RECORD_TYPE_INTERPOLATE || this.mode === RECORD_TYPE_PRIMITIVE_OP; - }}, {}); - }())); - Object.defineProperty(ProtoRecord, "parameters", {get: function() { - return [[assert.type.number], [assert.type.string], [], [List], [List], [assert.type.number], [assert.type.number], [assert.type.any], [assert.type.any], [assert.type.string], [assert.type.boolean], [assert.type.boolean]]; - }}); - } - }; -}); - -//# sourceMappingURL=src/change_detection/proto_record.map - -//# sourceMappingURL=../../src/change_detection/proto_record.js.map \ No newline at end of file diff --git a/angular2/src/change_detection/proto_record.js.map b/angular2/src/change_detection/proto_record.js.map deleted file mode 100644 index 1fd888d..0000000 --- a/angular2/src/change_detection/proto_record.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/7","src/change_detection/proto_record.js","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/10","src/change_detection/@traceur/generated/TemplateParser/24","src/change_detection/@traceur/generated/TemplateParser/23"],"names":[],"mappings":"AAAA,KAAK,SAAS,AAAC,oCAAoB,UAAS,SAAQ;;;;;;;;;;;;;;ACApD,OAAO;AACD,UAAM,GCDZ,SAAS,IAAG,CAAG;ACAf,WAAoB,KAAG,KAAkB,CAAC;IDElC,CDDuB;AACzB,UAAM;uBGFZ,CAAA,SAAQ,AAAC,oBCEuB,EAAA,CDFc;wBAA9C,CAAA,SAAQ,AAAC,qBCGwB,EAAA,CDHa;+BAA9C,CAAA,SAAQ,AAAC,4BCI+B,EAAA,CDJM;2BAA9C,CAAA,SAAQ,AAAC,wBCK2B,EAAA,CDLU;wBAA9C,CAAA,SAAQ,AAAC,qBCMwB,EAAA,CDNa;gCAA9C,CAAA,SAAQ,AAAC,6BCOgC,EAAA,CDPK;iCAA9C,CAAA,SAAQ,AAAC,8BCQiC,EAAA,CDRI;+BAA9C,CAAA,SAAQ,AAAC,4BCS+B,EAAA,CDTM;uBAA9C,CAAA,SAAQ,AAAC,oBCUuB,EAAA,CDVc;8BAA9C,CAAA,SAAQ,AAAC,2BCW8B,EAAA,CDXO;kBEAtB,CAAA,SAAQ,AAAC,iBCAjC,SAAQ,AAAC;AACC,AAAI,UAAA,cFYP,SAAM,YAAU,CAcT,IAAU,CACV,CAAA,IAAU,CACV,CAAA,WAAU,CACV,CAAA,IAAG,CACH,CAAA,SAAQ,CACR,CAAA,YAAkB,CAClB,CAAA,SAAQ,CACR,CAAA,cAAiB,CACjB,CAAA,gBAAe,CACf,CAAA,kBAAiB,CACjB,CAAA,aAAoB,CACpB,CAAA,eAAsB,CAAG;AAEnC,aAAG,KAAK,EAAI,KAAG,CAAC;AAChB,aAAG,KAAK,EAAI,KAAG,CAAC;AAChB,aAAG,YAAY,EAAI,YAAU,CAAC;AAC9B,aAAG,KAAK,EAAI,KAAG,CAAC;AAChB,aAAG,UAAU,EAAI,UAAQ,CAAC;AAC1B,aAAG,aAAa,EAAI,aAAW,CAAC;AAChC,aAAG,UAAU,EAAI,UAAQ,CAAC;AAC1B,aAAG,eAAe,EAAI,eAAa,CAAC;AACpC,aAAG,iBAAiB,EAAI,iBAAe,CAAC;AACxC,aAAG,cAAc,EAAI,cAAY,CAAC;AAClC,aAAG,gBAAgB,EAAI,gBAAc,CAAC;AACtC,aAAG,mBAAmB,EAAI,mBAAiB,CAAC;QElDE,AFmDhD,CEnDiD;AACzC,aAAO,CAAA,CAAC,eAAc,YAAY,CAAC,AAAC,eFoD5C,cAAa,CAAb,UAAc,AAAW,CAAA;AACvB,iBAAO,CAAA,IAAG,KAAK,IAAM,wBAAsB,CAAA,EACzC,CAAA,IAAG,KAAK,IAAM,yBAAuB,CAAC;UAC1C,MEtD8D,CAAC;MACzD,AAAC,EAAC,EDJ4D;AD0DtE,WG1DK,eAAe,AAAC,CAAA,WAAA,CAAA,aAAA,CACZ,EAAA,GAAE,CAAG,UAAQ,AAAG,CAAA;AAAC,eAAA,ECD1B,CAAA,MAAK,KAAK,OAAA,CAAA,CAAV,EAAA,MAAK,KAAK,OAAA,CAAA,CAAA,GAAA,CJ8BS,EAAA,IAAG,CAAA,CACE,EAAA,IAAG,CAAA,CI/B3B,EAAA,MAAK,KAAK,OAAA,CAAA,CAAV,EAAA,MAAK,KAAK,OAAA,CAAA,CAAV,EAAA,MAAK,KAAK,IAAA,CAAA,CAAV,EAAA,MAAK,KAAK,IAAA,CAAA,CAAV,EAAA,MAAK,KAAK,OAAA,CAAA,CAAV,EAAA,MAAK,KAAK,QAAA,CAAA,CAAV,EAAA,MAAK,KAAK,QAAA,CAAA,CAAA,CDCuC;QAAC,CAAC,CAAC,CAAC;IPCtB;EAC3B,CAAA;ADDI,CAAC,CAAC;AKkC4B","file":"src/change_detection/proto_record.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","$__export($__placeholder__0, $__placeholder__1)","import {List} from 'angular2/src/facade/collection';\n\nexport const RECORD_TYPE_SELF = 0;\nexport const RECORD_TYPE_CONST = 1;\nexport const RECORD_TYPE_PRIMITIVE_OP = 2;\nexport const RECORD_TYPE_PROPERTY = 3;\nexport const RECORD_TYPE_LOCAL = 4;\nexport const RECORD_TYPE_INVOKE_METHOD = 5;\nexport const RECORD_TYPE_INVOKE_CLOSURE = 6;\nexport const RECORD_TYPE_KEYED_ACCESS = 7;\nexport const RECORD_TYPE_PIPE = 8;\nexport const RECORD_TYPE_INTERPOLATE = 9;\n\nexport class ProtoRecord {\n mode:number;\n name:string;\n funcOrValue:any;\n args:List;\n fixedArgs:List;\n contextIndex:number;\n selfIndex:number;\n bindingMemento:any;\n directiveMemento:any;\n lastInBinding:boolean;\n lastInDirective:boolean;\n expressionAsString:string;\n\n constructor(mode:number,\n name:string,\n funcOrValue,\n args:List,\n fixedArgs:List,\n contextIndex:number,\n selfIndex:number,\n bindingMemento:any,\n directiveMemento:any,\n expressionAsString:string,\n lastInBinding:boolean,\n lastInDirective:boolean) {\n\n this.mode = mode;\n this.name = name;\n this.funcOrValue = funcOrValue;\n this.args = args;\n this.fixedArgs = fixedArgs;\n this.contextIndex = contextIndex;\n this.selfIndex = selfIndex;\n this.bindingMemento = bindingMemento;\n this.directiveMemento = directiveMemento;\n this.lastInBinding = lastInBinding;\n this.lastInDirective = lastInDirective;\n this.expressionAsString = expressionAsString;\n }\n\n isPureFunction():boolean {\n return this.mode === RECORD_TYPE_INTERPOLATE ||\n this.mode === RECORD_TYPE_PRIMITIVE_OP;\n }\n}\n","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function() {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4);\n }()","Object.defineProperty($__placeholder__0, $__placeholder__1,\n {get: function() {return $__placeholder__2}});","assert.type.$__placeholder__0)"]} \ No newline at end of file diff --git a/angular2/src/core/annotations/annotations.js b/angular2/src/core/annotations/annotations.js deleted file mode 100644 index d0681ae..0000000 --- a/angular2/src/core/annotations/annotations.js +++ /dev/null @@ -1,144 +0,0 @@ -System.register(["angular2/src/facade/lang", "angular2/src/facade/collection", "angular2/di"], function($__export) { - "use strict"; - var ABSTRACT, - CONST, - normalizeBlank, - isPresent, - ListWrapper, - List, - Injectable, - Directive, - Component, - DynamicComponent, - Decorator, - Viewport, - onDestroy, - onChange; - return { - setters: [function($__m) { - ABSTRACT = $__m.ABSTRACT; - CONST = $__m.CONST; - normalizeBlank = $__m.normalizeBlank; - isPresent = $__m.isPresent; - }, function($__m) { - ListWrapper = $__m.ListWrapper; - List = $__m.List; - }, function($__m) { - Injectable = $__m.Injectable; - }], - execute: function() { - Directive = $__export("Directive", (function($__super) { - var Directive = function Directive() { - var $__1 = arguments[0] !== (void 0) ? arguments[0] : {}, - selector = $__1.selector, - bind = $__1.bind, - events = $__1.events, - lifecycle = $__1.lifecycle; - $traceurRuntime.superConstructor(Directive).call(this); - this.selector = selector; - this.bind = bind; - this.events = events; - this.lifecycle = lifecycle; - }; - return ($traceurRuntime.createClass)(Directive, {hasLifecycleHook: function(hook) { - return isPresent(this.lifecycle) ? ListWrapper.contains(this.lifecycle, hook) : false; - }}, {}, $__super); - }(Injectable))); - Object.defineProperty(Directive, "annotations", {get: function() { - return [new ABSTRACT(), new CONST()]; - }}); - Object.defineProperty(Directive.prototype.hasLifecycleHook, "parameters", {get: function() { - return [[assert.type.string]]; - }}); - Component = $__export("Component", (function($__super) { - var Component = function Component() { - var $__1 = arguments[0] !== (void 0) ? arguments[0] : {}, - selector = $__1.selector, - bind = $__1.bind, - events = $__1.events, - services = $__1.services, - lifecycle = $__1.lifecycle; - $traceurRuntime.superConstructor(Component).call(this, { - selector: selector, - bind: bind, - events: events, - lifecycle: lifecycle - }); - this.services = services; - }; - return ($traceurRuntime.createClass)(Component, {}, {}, $__super); - }(Directive))); - Object.defineProperty(Component, "annotations", {get: function() { - return [new CONST()]; - }}); - DynamicComponent = $__export("DynamicComponent", (function($__super) { - var DynamicComponent = function DynamicComponent() { - var $__1 = arguments[0] !== (void 0) ? arguments[0] : {}, - selector = $__1.selector, - bind = $__1.bind, - events = $__1.events, - services = $__1.services, - lifecycle = $__1.lifecycle; - $traceurRuntime.superConstructor(DynamicComponent).call(this, { - selector: selector, - bind: bind, - events: events, - lifecycle: lifecycle - }); - this.services = services; - }; - return ($traceurRuntime.createClass)(DynamicComponent, {}, {}, $__super); - }(Directive))); - Object.defineProperty(DynamicComponent, "annotations", {get: function() { - return [new CONST()]; - }}); - Decorator = $__export("Decorator", (function($__super) { - var Decorator = function Decorator() { - var $__2; - var $__1 = arguments[0] !== (void 0) ? arguments[0] : {}, - selector = $__1.selector, - bind = $__1.bind, - events = $__1.events, - lifecycle = $__1.lifecycle, - compileChildren = ($__2 = $__1.compileChildren) === void 0 ? true : $__2; - this.compileChildren = compileChildren; - $traceurRuntime.superConstructor(Decorator).call(this, { - selector: selector, - bind: bind, - events: events, - lifecycle: lifecycle - }); - }; - return ($traceurRuntime.createClass)(Decorator, {}, {}, $__super); - }(Directive))); - Object.defineProperty(Decorator, "annotations", {get: function() { - return [new CONST()]; - }}); - Viewport = $__export("Viewport", (function($__super) { - var Viewport = function Viewport() { - var $__1 = arguments[0] !== (void 0) ? arguments[0] : {}, - selector = $__1.selector, - bind = $__1.bind, - events = $__1.events, - lifecycle = $__1.lifecycle; - $traceurRuntime.superConstructor(Viewport).call(this, { - selector: selector, - bind: bind, - events: events, - lifecycle: lifecycle - }); - }; - return ($traceurRuntime.createClass)(Viewport, {}, {}, $__super); - }(Directive))); - Object.defineProperty(Viewport, "annotations", {get: function() { - return [new CONST()]; - }}); - onDestroy = $__export("onDestroy", "onDestroy"); - onChange = $__export("onChange", "onChange"); - } - }; -}); - -//# sourceMappingURL=src/core/annotations/annotations.map - -//# sourceMappingURL=../../../src/core/annotations/annotations.js.map \ No newline at end of file diff --git a/angular2/src/core/annotations/annotations.js.map b/angular2/src/core/annotations/annotations.js.map deleted file mode 100644 index 014a628..0000000 --- a/angular2/src/core/annotations/annotations.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["@traceur/generated/TemplateParser/5","@traceur/generated/TemplateParser/4","@traceur/generated/TemplateParser/3","@traceur/generated/TemplateParser/9","@traceur/generated/TemplateParser/6","@traceur/generated/TemplateParser/12","src/core/annotations/annotations.js","@traceur/generated/TemplateParser/11","src/core/annotations/@traceur/generated/TemplateParser/24","src/core/annotations/@traceur/generated/TemplateParser/23","@traceur/generated/TemplateParser/16","@traceur/generated/TemplateParser/7"],"names":[],"mappings":"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","file":"src/core/annotations/annotations.js","sourceRoot":"/Users/deast/Angular/quickstart/node_modules/angular2/es6/prod/","sourcesContent":["System.register($__placeholder__0, function($__export) {\n $__placeholder__1\n });","return {\n setters: $__placeholder__0,\n execute: $__placeholder__1\n }","function($__m) {\n $__placeholder__0\n }","$__placeholder__0 = $__m.$__placeholder__1;","var $__placeholder__0 = $__export($__placeholder__1, $__placeholder__2);","function($__super) {\n var $__placeholder__0 = $__placeholder__1;\n return ($traceurRuntime.createClass)($__placeholder__2, $__placeholder__3,\n $__placeholder__4, $__super);\n }($__placeholder__5)","import {ABSTRACT, CONST, normalizeBlank, isPresent} from 'angular2/src/facade/lang';\nimport {ListWrapper, List} from 'angular2/src/facade/collection';\nimport {Injectable} from 'angular2/di';\n\n// type StringMap = {[idx: string]: string};\n\n/**\n * Directives allow you to attach behavior to elements in the DOM.\n *\n * Directive is an abstract concept, instead use concrete directives: [Component], [DynamicComponent], [Decorator]\n * or [Viewport].\n *\n * A directive consists of a single directive annotation and a controller class. When the directive's [selector] matches\n * elements in the DOM, the following steps occur:\n *\n * 1. For each directive, the [ElementInjector] attempts to resolve the directive's constructor arguments.\n * 2. Angular instantiates directives for each matched element using [ElementInjector] in a depth-first order,\n * as declared in the HTML.\n *\n * ## Understanding How Injection Works\n *\n * There are three stages of injection resolution.\n * - *Pre-existing Injectors*:\n * - The terminal [Injector] cannot resolve dependencies. It either throws an error or, if the dependency was\n * specified as `@Optional`, returns `null`.\n * - The primordial injector resolves browser singleton resources, such as: cookies, title, location, and others.\n * - *Component Injectors*: Each `@Component` has its own [Injector], and they follow the same parent-child hierachy\n * as the components in the DOM.\n * - *Element Injectors*: Each component has a Shadow DOM. Within the Shadow DOM each element has an [ElementInjector]\n * which follow the same parent-child hiercachy as the DOM elements themselves.\n *\n * When a template is instantiated, it also must instantiate the corresponding directives in a depth-first order. The\n * current [ElementInjector] resolves the constructor dependencies for each directive.\n *\n * Angular then resolves dependencies as follows, according to the order in which they appear in the [View]:\n *\n * 1. Dependencies on the current element\n * 2. Dependencies on element injectors and their parents until it encounters a Shadow DOM boundary\n * 3. Dependencies on component injectors and their parents until it encounters the root component\n * 4. Dependencies on pre-existing injectors\n *\n *\n * The [ElementInjector] can inject other directives, element-specific special objects, or it can delegate to the parent\n * injector.\n *\n * To inject other directives, declare the constructor parameter as:\n * - `directive:DirectiveType`: a directive on the current element only\n * - `@Ancestor() directive:DirectiveType`: any directive that matches the type between the current element and the\n * Shadow DOM root. Current Element is not included in the resolution, therefor even if it could resolve it, it will\n * be ignored.\n * - `@Parent() directive:DirectiveType`: any directive that matches the type on a direct parent element only.\n * - `@Children query:Query`: A live collection of direct child directives [TO BE IMPLEMENTED].\n * - `@Descendants query:Query`: A live collection of any child directives [TO BE IMPLEMENTED].\n *\n * To inject element-specific special objects, declare the constructor parameter as:\n * - `element: NgElement` to obtain a DOM element (DEPRECATED: replacment coming)\n * - `viewContainer: ViewContainer` to control child template instantiation, for [Viewport] directives only\n * - `bindingPropagation: BindingPropagation` to control change detection in a more granular way.\n *\n * ## Example\n *\n * The following example demonstrates how dependency injection resolves constructor arguments in practice.\n *\n *\n * Assume this HTML template:\n *\n * ```\n *
\n *
\n *
\n *
\n *
\n *
\n *
\n *
\n *
\n *
\n * ```\n *\n * With the following `dependency` decorator and `SomeService` injectable class.\n *\n * ```\n * @Injectable()\n * class SomeService {\n * }\n *\n * @Decorator({\n * selector: '[dependency]',\n * bind: {\n * 'id':'dependency'\n * }\n * })\n * class Dependency {\n * id:string;\n * }\n * ```\n *\n * Let's step through the different ways in which `MyDirective` could be declared...\n *\n *\n * ### No injection\n *\n * Here the constructor is declared with no arguments, therefore nothing is injected into `MyDirective`.\n *\n * ```\n * @Decorator({ selector: '[my-directive]' })\n * class MyDirective {\n * constructor() {\n * }\n * }\n * ```\n *\n * This directive would be instantiated with no dependencies.\n *\n *\n * ### Component-level injection\n *\n * Directives can inject any injectable instance from the closest component injector or any of its parents.\n *\n * Here, the constructor declares a parameter, `someService`, and injects the `SomeService` type from the parent\n * component's injector.\n *\n * ```\n * @Decorator({ selector: '[my-directive]' })\n * class MyDirective {\n * constructor(someService: SomeService) {\n * }\n * }\n * ```\n *\n * This directive would be instantiated with a dependency on `SomeService`.\n *\n *\n * ### Injecting a directive from the current element\n *\n * Directives can inject other directives declared on the current element.\n *\n * ```\n * @Decorator({ selector: '[my-directive]' })\n * class MyDirective {\n * constructor(dependency: Dependency) {\n * expect(dependency.id).toEqual(3);\n * }\n * }\n * ```\n * This directive would be instantiated with `Dependency` declared at the same element, in this case `dependency=\"3\"`.\n *\n *\n * ### Injecting a directive from a direct parent element\n *\n * Directives can inject other directives declared on a direct parent element. By definition, a directive with a\n * `@Parent` annotation does not attempt to resolve dependencies for the current element, even if this would satisfy\n * the dependency.\n *\n * ```\n * @Decorator({ selector: '[my-directive]' })\n * class MyDirective {\n * constructor(@Parent() dependency: Dependency) {\n * expect(dependency.id).toEqual(2);\n * }\n * }\n * ```\n * This directive would be instantiated with `Dependency` declared at the parent element, in this case `dependency=\"2\"`.\n *\n *\n * ### Injecting a directive from any ancestor elements\n *\n * Directives can inject other directives declared on any ancestor element (in the current Shadow DOM), i.e. on the\n * parent element and its parents. By definition, a directive with an `@Ancestor` annotation does not attempt to\n * resolve dependencies for the current element, even if this would satisfy the dependency.\n *\n * ```\n * @Decorator({ selector: '[my-directive]' })\n * class MyDirective {\n * constructor(@Ancestor() dependency: Dependency) {\n * expect(dependency.id).toEqual(2);\n * }\n * }\n * ```\n *\n * Unlike the `@Parent` which only checks the parent, `@Ancestor` checks the parent, as well as its\n * parents recursively. If `dependency=\"2\"` didn't exist on the direct parent, this injection would have returned\n * `dependency=\"1\"`.\n *\n *\n * ### Injecting a live collection of direct child directives [PENDING IMPLEMENTATION]\n *\n * A directive can also query for other child directives. Since parent directives are instantiated before child\n * directives, a directive can't simply inject the list of child directives. Instead, the directive asynchronously\n * injects a [Query], which updates as children are added, removed, or moved by any [ViewPort] directive such as a\n * `for`, an `if`, or a `switch`.\n *\n * ```\n * @Decorator({ selector: '[my-directive]' })\n * class MyDirective {\n * constructor(@Children() dependencies:Query) {\n * }\n * }\n * ```\n *\n * This directive would be instantiated with a [Query] which contains `Dependency` 4 and 6. Here, `Dependency` 5 would\n * not be included, because it is not a direct child.\n *\n * ### Injecting a live collection of direct descendant directives [PENDING IMPLEMENTATION]\n *\n * Similar to `@Children` above, but also includes the children of the child elements.\n *\n * ```\n * @Decorator({ selector: '[my-directive]' })\n * class MyDirective {\n * constructor(@Children() dependencies:Query) {\n * }\n * }\n * ```\n *\n * This directive would be instantiated with a Query which would contain `Dependency` 4, 5 and 6.\n *\n * ### Optional injection\n *\n * The normal behavior of directives is to return an error when a specified dependency cannot be resolved. If you\n * would like to inject `null` on unresolved dependency instead, you can annotate that dependency with `@Optional()`.\n * This explicitly permits the author of a template to treat some of the surrounding directives as optional.\n *\n * ```\n * @Decorator({ selector: '[my-directive]' })\n * class MyDirective {\n * constructor(@Optional() dependency:Dependency) {\n * }\n * }\n * ```\n *\n * This directive would be instantiated with a `Dependency` directive found on the current element. If none can be\n * found, the injector supplies `null` instead of throwing an error.\n *\n * @publicModule angular2/annotations\n */\n@ABSTRACT()\nexport class Directive extends Injectable {\n /**\n * The CSS selector that triggers the instantiation of a directive.\n *\n * Angular only allows directives to trigger on CSS selectors that do not cross element boundaries.\n *\n * `selector` may be declared as one of the following:\n *\n * - `element-name`: select by element name.\n * - `.class`: select by class name.\n * - `[attribute]`: select by attribute name.\n * - `[attribute=value]`: select by attribute name and value.\n * - `:not(sub_selector)`: select only if the element does not match the `sub_selector`.\n * - `selector1, selector2`: select if either `selector1` or `selector2` matches.\n *\n *\n * ## Example\n *\n * Suppose we have a directive with an `input[type=text]` selector.\n *\n * And the following HTML:\n *\n * ```html\n *
\n * \n * \n * \n * ```\n *\n * The directive would only be instantiated on the `` element.\n *\n */\n selector:string;\n\n /**\n * Enumerates the set of properties that accept data binding for a directive.\n *\n * The `bind` property defines a set of `directiveProperty` to `bindingProperty` key-value pairs:\n *\n * - `directiveProperty` specifies the component property where the value is written.\n * - `bindingProperty` specifies the DOM property where the value is read from.\n *\n * You can include [Pipes] when specifying a `bindingProperty` to allow for data transformation and structural\n * change detection of the value. These pipes will be evaluated in the context of this component.\n *\n *\n * ## Syntax\n *\n * ```\n * @Directive({\n * bind: {\n * 'directiveProperty1': 'bindingProperty1',\n * 'directiveProperty2': 'bindingProperty2 | pipe1 | ...',\n * ...\n * }\n * }\n * ```\n *\n *\n * ## Basic Property Binding\n *\n * We can easily build a simple `Tooltip` directive that exposes a `tooltip` property, which can be used in templates\n * with standard Angular syntax. For example:\n *\n * ```\n * @Decorator({\n * selector: '[tooltip]',\n * bind: {\n * 'text': 'tooltip'\n * }\n * })\n * class Tooltip {\n * set text(text) {\n * // This will get called every time the 'tooltip' binding changes with the new value.\n * }\n * }\n * ```\n *\n * We can then bind to the `tooltip' property as either an expression (`someExpression`) or as a string literal, as\n * shown in the HTML template below:\n *\n * ```html\n *
...
\n *
...
\n * ```\n *\n * Whenever the `someExpression` expression changes, the `bind` declaration instructs Angular to update the\n * `Tooltip`'s `tooltipText` property.\n *\n *\n *\n * ## Bindings With Pipes:\n *\n * You can also use pipes when writing binding definitions for a directive.\n *\n * For example, we could write a binding that updates the directive on structural changes, rather than on reference\n * changes, as normally occurs in change detection. (See: [Pipe] and [keyValueDiff] documentaition for more details.)\n *\n * ```\n * @Decorator({\n * selector: '[class-set]',\n * bind: {\n * 'classChanges': 'classSet | keyValDiff'\n * }\n * })\n * class ClassSet {\n * set classChanges(changes:KeyValueChanges) {\n * // This will get called every time the `class-set` expressions changes its structure.\n * }\n * }\n * ```\n *\n * The template that this directive is used in may also contain its own pipes. For example:\n *\n * ```html\n *
\n * ```\n *\n * In this case, the two pipes compose as if they were inlined: `someExpression | somePipe | keyValDiff`.\n *\n */\n bind:any; // StringMap\n\n /**\n * Specifies which DOM events a directive listens to.\n *\n * The `events` property defines a set of `event` to `method` key-value pairs:\n *\n * - `event1`: the DOM event that the directive listens to.\n * - `statement`: the statment to execute when the event occurs.\n *\n *\n * When writing a directive event binding, you can also refer to the following local variables:\n * - `$event`: Current event object which triggerd the event.\n * - `$target`: The source of the event. This will be either a DOM element or an Angular directive.\n * [TO BE IMPLEMENTED]\n *\n *\n * ## Syntax\n *\n * ```\n * @Directive({\n * events: {\n * 'event1': 'onMethod1(arguments)',\n * ...\n * }\n * }\n * ```\n *\n * ## Basic Event Binding:\n *\n * Suppose you want to write a directive that triggers on `change` events in the DOM. You would define the event\n * binding as follows:\n *\n * ```\n * @Decorator({\n * selector: 'input',\n * events: {\n * 'change': 'onChange($event)'\n * }\n * })\n * class InputDecorator {\n * onChange(event:Event) {\n * }\n * }\n * ```\n *\n * Here `InputDecorator` is invoked whenever the DOM element fires the 'change' event.\n *\n */\n events:any; // StringMap\n\n /**\n * Specifies a set of lifecycle events in which the directive participates.\n *\n * See: [onChange], [onDestroy] for details.\n */\n lifecycle:List; //List\n\n @CONST()\n constructor({\n selector,\n bind,\n events,\n lifecycle\n }:{\n selector:string,\n bind:any,\n events: any,\n lifecycle:List\n }={})\n {\n super();\n this.selector = selector;\n this.bind = bind;\n this.events = events;\n this.lifecycle = lifecycle;\n }\n\n /**\n * Returns true if a directive participates in a given [LifecycleEvent].\n *\n * See: [onChange], [onDestroy] for details.\n */\n hasLifecycleHook(hook:string):boolean {\n return isPresent(this.lifecycle) ? ListWrapper.contains(this.lifecycle, hook) : false;\n }\n}\n\n/**\n * Declare template views for an Angular application.\n *\n * Each angular component requires a single `@Component` and at least one `@Template` annotation. This allows Angular to\n * encapsulate state information and templates. These form the fundamental reusable building blocks for developing an\n * application. There can only be one component per DOM element.\n *\n * When a component is instantiated, Angular\n * - creates a shadow DOM for the component.\n * - loads the selected template into the shadow DOM.\n * - creates a child [Injector] which is configured with the [Component.services].\n *\n * All template expressions and statments are then evaluted against the component instance.\n *\n * For details on the `@Template` annotation, see [Template].\n *\n * ## Example\n *\n * ```\n * @Component({\n * selector: 'greet'\n * })\n * @Template({\n * inline: 'Hello {{name}}!'\n * })\n * class Greet {\n * name: string;\n *\n * constructor() {\n * this.name = 'World';\n * }\n * }\n * ```\n *\n * @publicModule angular2/annotations\n */\nexport class Component extends Directive {\n /**\n * Defines the set of injectable objects that are visible to a Component and its children.\n *\n * The [services] defined in the Component annotation allow you to configure a set of bindings for the component's\n * injector.\n *\n * When a component is instantiated, Angular creates a new child Injector, which is configured with the bindings in\n * the Component [services] annotation. The injectable objects then become available for injection to the component\n * itself and any of the directives in the component's template, i.e. they are not available to the directives which\n * are children in the component's light DOM.\n *\n *\n * The syntax for configuring the [services] injectable is identical to [Injector] injectable configuration. See\n * [Injector] for additional detail.\n *\n *\n * ## Simple Example\n *\n * Here is an example of a class that can be injected:\n *\n * ```\n * class Greeter {\n * greet(name:string) {\n * return 'Hello ' + name + '!';\n * }\n * }\n *\n * @Component({\n * selector: 'greet',\n * services: [\n * Greeter\n * ]\n * })\n * @Template({\n * inline: `{{greeter.greet('world')}}!`,\n * directives: Child\n * })\n * class HelloWorld {\n * greeter:Greeter;\n *\n * constructor(greeter:Greeter) {\n * this.greeter = greeter;\n * }\n * }\n * ```\n */\n services:List;\n\n@CONST()\n constructor({\n selector,\n bind,\n events,\n services,\n lifecycle\n }:{\n selector:String,\n bind:Object,\n events:Object,\n services:List,\n lifecycle:List\n }={})\n {\n super({\n selector: selector,\n bind: bind,\n events: events,\n lifecycle: lifecycle\n });\n\n this.services = services;\n }\n}\n\n/**\n * A directive used for dynamically loading components.\n *\n * Regular angular components are statically resolved. DynamicComponent allows to you resolve a component at runtime\n * instead by providing a placeholder into which a regular angular component can be dynamically loaded. Once loaded,\n * the dynamically-loaded component becomes permanent and cannot be changed.\n *\n *\n * ## Example\n *\n * Here we have `DynamicComp` which acts as the placeholder for `HelloCmp`. At runtime, the dynamic component\n * `DynamicComp` requests loading of the `HelloCmp` component.\n *\n * There is nothing special about `HelloCmp`, which is a regular angular component. It can also be used in other static\n * locations.\n *\n * ```\n * @DynamicComponent({\n * selector: 'dynamic-comp'\n * })\n * class DynamicComp {\n * helloCmp:HelloCmp;\n * constructor(loader:PrivateComponentLoader, location:PrivateComponentLocation) {\n * loader.load(HelloCmp, location).then((helloCmp) => {\n * this.helloCmp = helloCmp;\n * });\n * }\n * }\n *\n * @Component({\n * selector: 'hello-cmp'\n * })\n * @Template({\n * inline: \"{{greeting}}\"\n * })\n * class HelloCmp {\n * greeting:string;\n * constructor() {\n * this.greeting = \"hello\";\n * }\n * }\n * ```\n *\n *\n *\n * @publicModule angular2/annotations\n */\nexport class DynamicComponent extends Directive {\n /**\n * Same as [Component.services].\n */\n // TODO(vsankin): Please extract into AbstractComponent\n services:any; //List;\n\n @CONST()\n constructor({\n selector,\n bind,\n events,\n services,\n lifecycle\n }:{\n selector:string,\n bind:Object,\n events:Object,\n services:List,\n lifecycle:List\n }={}) {\n super({\n selector: selector,\n bind: bind,\n events: events,\n lifecycle: lifecycle\n });\n\n this.services = services;\n }\n}\n\n/**\n * Directive that attaches behavior to DOM elements.\n *\n * A decorator directive attaches behavior to a DOM element in a composable manner. \n * (see: http://en.wikipedia.org/wiki/Composition_over_inheritance)\n * \n * Decorators:\n * - are simplest form of [Directive]s.\n * - are best used as a composition pattern ()\n *\n * Decorators differ from [Component]s in that they:\n * - can have multiple decorators per element\n * - do not create their own evaluation context\n * - do not have template (and therefor do not create Shadow DOM)\n *\n *\n * ## Example\n *\n * Here we use a decorator directive to simply define basic tool-tip behavior. \n *\n * ```\n * @Decorator({\n * selector: '[tooltip]',\n * bind: {\n * 'text': 'tooltip'\n * },\n * event: {\n * 'onmouseenter': 'onMouseEnter()',\n * 'onmouseleave': 'onMouseLeave()'\n * }\n * })\n * class Tooltip{\n * text:string;\n * overlay:Overlay; // NOT YET IMPLEMENTED\n * overlayManager:OverlayManager; // NOT YET IMPLEMENTED\n *\n * constructor(overlayManager:OverlayManager) {\n * this.overlay = overlay;\n * }\n *\n * onMouseEnter() {\n * // exact signature to be determined\n * this.overlay = this.overlayManager.open(text, ...);\n * }\n *\n * onMouseLeave() {\n * this.overlay.close();\n * this.overlay = null;\n * }\n * }\n * ```\n * In our HTML template, we can then add this behavior to a `
` or any other element with the `tooltip` selector, \n * like so:\n * \n * ```\n *
\n * ```\n *\n * @publicModule angular2/annotations\n */\nexport class Decorator extends Directive {\n\n /**\n * If set to true the compiler does not compile the children of this directive.\n */\n //TODO(vsavkin): This would better fall under the Macro directive concept.\n compileChildren: boolean;\n\n @CONST()\n constructor({\n selector,\n bind,\n events,\n lifecycle,\n compileChildren = true,\n }:{\n selector:string,\n bind:any,\n events:any,\n lifecycle:List,\n compileChildren:boolean\n }={})\n {\n this.compileChildren = compileChildren;\n super({\n selector: selector,\n bind: bind,\n events: events,\n lifecycle: lifecycle\n });\n }\n}\n\n/**\n * Viewport is used for controlling the instatiation of inline templates. [TODO: needs co-work :)]\n *\n * Viewport consist of a controller which can inject [ViewContainer]. A [ViewContainer] represents a location in the\n * current view where child views can be inserted. [ViewContainer] is created as a result of `