UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 32.9 kB
{"version":3,"sources":["proto_change_detector.js"],"names":[],"mappings":"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","file":"angular2/src/change_detection/proto_change_detector.es6","sourcesContent":["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 {ChangeDispatcher, ChangeDetector, ProtoChangeDetector} 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';\nimport {BindingRecord} from './binding_record';\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_BINDING_PIPE,\n RECORD_TYPE_INTERPOLATE\n } from './proto_record';\n\nexport class DynamicProtoChangeDetector extends ProtoChangeDetector {\n _pipeRegistry:PipeRegistry;\n _records:List<ProtoRecord>;\n _changeControlStrategy:string;\n\n constructor(pipeRegistry:PipeRegistry, changeControlStrategy:string) {\n super();\n this._pipeRegistry = pipeRegistry;\n this._changeControlStrategy = changeControlStrategy;\n }\n\n instantiate(dispatcher:any, bindingRecords:List, variableBindings:List, directiveRecords:List) {\n this._createRecordsIfNecessary(bindingRecords, variableBindings);\n return new DynamicChangeDetector(this._changeControlStrategy, dispatcher,\n this._pipeRegistry, this._records, directiveRecords);\n }\n\n _createRecordsIfNecessary(bindingRecords:List, variableBindings:List) {\n if (isBlank(this._records)) {\n var recordBuilder = new ProtoRecordBuilder();\n ListWrapper.forEach(bindingRecords, (b) => {\n recordBuilder.addAst(b, 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 _changeControlStrategy:string;\n\n constructor(pipeRegistry, changeControlStrategy:string) {\n super();\n this._pipeRegistry = pipeRegistry;\n this._factory = null;\n this._changeControlStrategy = changeControlStrategy;\n }\n\n instantiate(dispatcher:any, bindingRecords:List, variableBindings:List, directiveRecords:List) {\n this._createFactoryIfNecessary(bindingRecords, variableBindings, directiveRecords);\n return this._factory(dispatcher, this._pipeRegistry);\n }\n\n _createFactoryIfNecessary(bindingRecords:List, variableBindings:List, directiveRecords:List) {\n if (isBlank(this._factory)) {\n var recordBuilder = new ProtoRecordBuilder();\n ListWrapper.forEach(bindingRecords, (b) => {\n recordBuilder.addAst(b, variableBindings);\n });\n var c = _jitProtoChangeDetectorClassCounter++;\n var records = coalesce(recordBuilder.records);\n var typeName = `ChangeDetector${c}`;\n this._factory = new ChangeDetectorJITGenerator(typeName, this._changeControlStrategy, records,\n directiveRecords).generate();\n }\n }\n}\n\nclass ProtoRecordBuilder {\n records:List<ProtoRecord>;\n\n constructor() {\n this.records = [];\n }\n\n addAst(b:BindingRecord, variableBindings:List = null) {\n var last = ListWrapper.last(this.records);\n if (isPresent(last) && last.bindingRecord.directiveRecord == b.directiveRecord) {\n last.lastInDirective = false;\n }\n\n var pr = _ConvertAstIntoProtoRecords.convert(b, 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 bindingRecord:BindingRecord;\n variableBindings:List;\n contextIndex:number;\n expressionAsString:string;\n\n constructor(bindingRecord:BindingRecord, contextIndex:number, expressionAsString:string, variableBindings:List) {\n this.protoRecords = [];\n this.bindingRecord = bindingRecord;\n this.contextIndex = contextIndex;\n this.expressionAsString = expressionAsString;\n this.variableBindings = variableBindings;\n }\n\n static convert(b:BindingRecord, contextIndex:number, variableBindings:List) {\n var c = new _ConvertAstIntoProtoRecords(b, contextIndex, b.ast.toString(), variableBindings);\n b.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 var type = ast.inBinding ? RECORD_TYPE_BINDING_PIPE : RECORD_TYPE_PIPE;\n return this._addRecord(type, 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.bindingRecord, 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}"]}