fix(compiler): properly implement pure pipes and change pipe syntax
Pure pipes as well as arrays and maps are implemented via proxy functions. This is faster than the previous implementation and also generates less code. BREAKING CHANGE: - pipes now take a variable number of arguments, and not an array that contains all arguments.
This commit is contained in:
@ -575,7 +575,7 @@ const COMMON = [
|
||||
'AsyncPipe',
|
||||
'AsyncPipe.constructor(_ref:ChangeDetectorRef)',
|
||||
'AsyncPipe.ngOnDestroy():void',
|
||||
'AsyncPipe.transform(obj:Observable<any>|Promise<any>|EventEmitter<any>, args:any[]):any',
|
||||
'AsyncPipe.transform(obj:Observable<any>|Promise<any>|EventEmitter<any>):any',
|
||||
'CheckboxControlValueAccessor',
|
||||
'CheckboxControlValueAccessor.constructor(_renderer:Renderer, _elementRef:ElementRef)',
|
||||
'CheckboxControlValueAccessor.onChange:any',
|
||||
@ -610,12 +610,12 @@ const COMMON = [
|
||||
'ControlValueAccessor.registerOnTouched(fn:any):void',
|
||||
'ControlValueAccessor.writeValue(obj:any):void',
|
||||
'CurrencyPipe',
|
||||
'CurrencyPipe.transform(value:any, args:any[]):string',
|
||||
'CurrencyPipe.transform(value:any, currencyCode:string, symbolDisplay:boolean, digits:string):string',
|
||||
'DatePipe',
|
||||
'DatePipe.supports(obj:any):boolean',
|
||||
'DatePipe.transform(value:any, args:any[]):string',
|
||||
'DatePipe.transform(value:any, pattern:string):string',
|
||||
'DecimalPipe',
|
||||
'DecimalPipe.transform(value:any, args:any[]):string',
|
||||
'DecimalPipe.transform(value:any, digits:string):string',
|
||||
'DefaultValueAccessor',
|
||||
'DefaultValueAccessor.constructor(_renderer:Renderer, _elementRef:ElementRef)',
|
||||
'DefaultValueAccessor.onChange:any',
|
||||
@ -636,13 +636,13 @@ const COMMON = [
|
||||
'FormBuilder.control(value:Object, validator:ValidatorFn, asyncValidator:AsyncValidatorFn):Control',
|
||||
'FormBuilder.group(controlsConfig:{[key:string]:any}, extra:{[key:string]:any}):ControlGroup',
|
||||
'I18nPluralPipe',
|
||||
'I18nPluralPipe.transform(value:number, args:any[]):string',
|
||||
'I18nPluralPipe.transform(value:number, pluralMap:{[count:string]:string}):string',
|
||||
'I18nSelectPipe',
|
||||
'I18nSelectPipe.transform(value:string, args:any[]):string',
|
||||
'I18nSelectPipe.transform(value:string, mapping:{[key:string]:string}):string',
|
||||
'JsonPipe',
|
||||
'JsonPipe.transform(value:any, args:any[]):string',
|
||||
'JsonPipe.transform(value:any):string',
|
||||
'LowerCasePipe',
|
||||
'LowerCasePipe.transform(value:string, args:any[]):string',
|
||||
'LowerCasePipe.transform(value:string):string',
|
||||
'MaxLengthValidator',
|
||||
'MaxLengthValidator.constructor(maxLength:string)',
|
||||
'MaxLengthValidator.validate(c:AbstractControl):{[key:string]:any}',
|
||||
@ -790,9 +790,9 @@ const COMMON = [
|
||||
'PatternValidator.constructor(pattern:string)',
|
||||
'PatternValidator.validate(c:AbstractControl):{[key:string]:any}',
|
||||
'PercentPipe',
|
||||
'PercentPipe.transform(value:any, args:any[]):string',
|
||||
'PercentPipe.transform(value:any, digits:string):string',
|
||||
'ReplacePipe',
|
||||
'ReplacePipe.transform(value:any, args:any[]):any',
|
||||
'ReplacePipe.transform(value:any, pattern:string|RegExp, replacement:Function|string):any',
|
||||
'RequiredValidator',
|
||||
'SelectControlValueAccessor',
|
||||
'SelectControlValueAccessor.constructor(_renderer:Renderer, _elementRef:ElementRef)',
|
||||
@ -803,9 +803,9 @@ const COMMON = [
|
||||
'SelectControlValueAccessor.value:any',
|
||||
'SelectControlValueAccessor.writeValue(value:any):void',
|
||||
'SlicePipe',
|
||||
'SlicePipe.transform(value:any, args:any[]):any',
|
||||
'SlicePipe.transform(value:any, start:number, end:number):any',
|
||||
'UpperCasePipe',
|
||||
'UpperCasePipe.transform(value:string, args:any[]):string',
|
||||
'UpperCasePipe.transform(value:string):string',
|
||||
'Validator',
|
||||
'Validator.validate(c:AbstractControl):{[key:string]:any}',
|
||||
'Validators',
|
||||
|
Reference in New Issue
Block a user