| 
									
										
										
										
											2015-02-05 13:08:05 -08:00
										 |  |  | export {AST} from './src/change_detection/parser/ast'; | 
					
						
							|  |  |  | export {Lexer} from './src/change_detection/parser/lexer'; | 
					
						
							|  |  |  | export {Parser} from './src/change_detection/parser/parser'; | 
					
						
							| 
									
										
										
										
											2015-03-11 21:11:39 -07:00
										 |  |  | export {Locals} | 
					
						
							|  |  |  |   from './src/change_detection/parser/locals'; | 
					
						
							| 
									
										
										
										
											2015-02-05 13:08:05 -08:00
										 |  |  | export {ExpressionChangedAfterItHasBeenChecked, ChangeDetectionError} | 
					
						
							|  |  |  |     from './src/change_detection/exceptions'; | 
					
						
							| 
									
										
										
										
											2015-02-02 17:31:12 -08:00
										 |  |  | export {ChangeRecord, ChangeDispatcher, ChangeDetector, | 
					
						
							| 
									
										
										
										
											2015-02-05 13:08:05 -08:00
										 |  |  |     CHECK_ONCE, CHECK_ALWAYS, DETACHED, CHECKED} from './src/change_detection/interfaces'; | 
					
						
							| 
									
										
										
										
											2015-03-11 21:43:22 -07:00
										 |  |  | export {ProtoChangeDetector, DynamicProtoChangeDetector, JitProtoChangeDetector, BindingRecord} | 
					
						
							| 
									
										
										
										
											2015-02-05 13:08:05 -08:00
										 |  |  |     from './src/change_detection/proto_change_detector'; | 
					
						
							|  |  |  | export {DynamicChangeDetector} | 
					
						
							|  |  |  |     from './src/change_detection/dynamic_change_detector'; | 
					
						
							| 
									
										
										
										
											2015-02-12 14:56:41 -08:00
										 |  |  | export * from './src/change_detection/pipes/pipe_registry'; | 
					
						
							| 
									
										
										
										
											2015-03-13 17:52:27 -07:00
										 |  |  | export {uninitialized} from './src/change_detection/change_detection_util'; | 
					
						
							| 
									
										
										
										
											2015-02-12 14:56:41 -08:00
										 |  |  | export * from './src/change_detection/pipes/pipe'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-05 13:08:05 -08:00
										 |  |  | import {ProtoChangeDetector, DynamicProtoChangeDetector, JitProtoChangeDetector} | 
					
						
							|  |  |  |     from './src/change_detection/proto_change_detector'; | 
					
						
							| 
									
										
										
										
											2015-02-12 14:56:41 -08:00
										 |  |  | import {PipeRegistry} from './src/change_detection/pipes/pipe_registry'; | 
					
						
							| 
									
										
										
										
											2015-03-13 16:22:01 -07:00
										 |  |  | import {IterableChangesFactory} from './src/change_detection/pipes/iterable_changes'; | 
					
						
							| 
									
										
										
										
											2015-02-24 17:39:44 +01:00
										 |  |  | import {KeyValueChangesFactory} from './src/change_detection/pipes/keyvalue_changes'; | 
					
						
							| 
									
										
										
										
											2015-02-19 17:47:25 -08:00
										 |  |  | import {NullPipeFactory} from './src/change_detection/pipes/null_pipe'; | 
					
						
							| 
									
										
										
										
											2015-01-21 12:05:52 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | export class ChangeDetection { | 
					
						
							| 
									
										
										
										
											2015-02-11 21:04:52 -08:00
										 |  |  |   createProtoChangeDetector(name:string):ProtoChangeDetector{ | 
					
						
							|  |  |  |     // TODO: this should be abstract, once supported in AtScript
 | 
					
						
							|  |  |  |     return null; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2015-01-21 12:05:52 -08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-12 14:56:41 -08:00
										 |  |  | export var defaultPipes = { | 
					
						
							| 
									
										
										
										
											2015-02-19 17:47:25 -08:00
										 |  |  |   "iterableDiff" : [ | 
					
						
							| 
									
										
										
										
											2015-03-13 16:22:01 -07:00
										 |  |  |     new IterableChangesFactory(), | 
					
						
							| 
									
										
										
										
											2015-02-19 17:47:25 -08:00
										 |  |  |     new NullPipeFactory() | 
					
						
							| 
									
										
										
										
											2015-02-24 17:39:44 +01:00
										 |  |  |   ], | 
					
						
							|  |  |  |   "keyValDiff" : [ | 
					
						
							|  |  |  |     new KeyValueChangesFactory(), | 
					
						
							|  |  |  |     new NullPipeFactory() | 
					
						
							| 
									
										
										
										
											2015-02-12 14:56:41 -08:00
										 |  |  |   ] | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-21 12:05:52 -08:00
										 |  |  | export class DynamicChangeDetection extends ChangeDetection { | 
					
						
							| 
									
										
										
										
											2015-02-20 10:59:14 -08:00
										 |  |  |   registry:PipeRegistry; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   constructor(registry:PipeRegistry) { | 
					
						
							|  |  |  |     super(); | 
					
						
							|  |  |  |     this.registry = registry; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-21 12:05:52 -08:00
										 |  |  |   createProtoChangeDetector(name:string):ProtoChangeDetector{ | 
					
						
							| 
									
										
										
										
											2015-02-20 10:59:14 -08:00
										 |  |  |     return new DynamicProtoChangeDetector(this.registry); | 
					
						
							| 
									
										
										
										
											2015-01-21 12:05:52 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export class JitChangeDetection extends ChangeDetection { | 
					
						
							| 
									
										
										
										
											2015-02-20 10:59:14 -08:00
										 |  |  |   registry:PipeRegistry; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   constructor(registry:PipeRegistry) { | 
					
						
							|  |  |  |     super(); | 
					
						
							|  |  |  |     this.registry = registry; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-21 12:05:52 -08:00
										 |  |  |   createProtoChangeDetector(name:string):ProtoChangeDetector{ | 
					
						
							| 
									
										
										
										
											2015-02-20 10:59:14 -08:00
										 |  |  |     return new JitProtoChangeDetector(this.registry); | 
					
						
							| 
									
										
										
										
											2015-01-21 12:05:52 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-20 10:59:14 -08:00
										 |  |  | var _registry = new PipeRegistry(defaultPipes); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export var dynamicChangeDetection = new DynamicChangeDetection(_registry); | 
					
						
							| 
									
										
										
										
											2015-02-24 17:39:44 +01:00
										 |  |  | export var jitChangeDetection = new JitChangeDetection(_registry); |